Git & GitHub

j·2022년 5월 5일
0

TIL

목록 보기
4/14
post-thumbnail

개발자라면 꼭 알아야하고 익숙해져야하는 기본적인 툴 Git & GitHub

자료를 보기 전에 내 머릿속에 있는것만 꺼내보자면,
git은 버전관리 시스템이고... 순서는

  1. git init으로 깃 추적 시작
  2. git status로 상태 확인. 예를 들면 어떤 파일에 어떤 변경사항이 있는지 등등
  3. git add로 파일 수정 이력 기록을 준비하고 (git add . 주로 다 기록하는걸 사용)
  4. git commit으로 수정사항에 대해 간단히 기록한다.
  5. git log으로 commit 이력을 볼 수 있다.
  6. git push 로 연결된 브랜치에 push하고 PR 남긴다.

이게 전부이지만 프로젝트 들어가기전에 확실히 복습한다는 생각으로 다시한번 정리해본다.


Git

: 분산 버전 관리 시스템(VCS). 쉽게 말하자면 프로젝트 파일의 변경사항을 추적하는 시스템! 이를 통해 개발자들은 프로젝트의 변경사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있다. 또한 협업할 때도 아주 유용.

Repositories

: Git repositiries는 Git으로 관리하는 프로젝트 저장소. 쉽게말하면 폴더!

  • Local repository : 본인 컴퓨터에 저장된 로컬 버전의 플젝 저장소
  • Remote repository : 내 컴퓨터가 아닌 외부(일반적으로 원격서버) 버전의 플젝 저장소. 팀에서 작업할 때 특히 유용하며 코드를 공유할 수 있고 다른사람의 코드를 확인할 수도 있다. 또 로컬버전의 프로젝트와 병합하고 변경사항을 적용할수 있다.

Initializing a repository

: 새 repository를 만들고 Git으로 프로젝트 관리를 시작하려면 터미널에서 플젝 폴더로 이동후 git init 명령어를 입력하여 폴더내에 숨겨진 .git 디렉토리를 생성하며 이제부터 현 저장소에 대한 모든 변경사항을 추적/관리 하게된다.

Staging and committing code

: Git에서 commit이란, 프로젝트의 현재상태를 나타내는 체크포인트로 생각하면 된다. 커밋 히스토리에 필요한 만큼 커밋을 생성할 수 있으며 이를 통해 프로젝트의 진행상황을 효율적으로 관리할 수 있게 된다. 일반적으로 특정 내용, 기능을 추가한 후 또는 수정 사항을 적용 한 후 커밋을 남긴다.

1. Checking the status

: git status 를 입력하여 repository의 현재 상태를 확인 가능. 명령어를 입력 했을 때 git으로 관리되고 있지 않던 파일들이 있다면 해당파일들을 staging area로 추가 가능하다.

2. Staging files(Staging area에 파일 추가)

: git add 라는 명령어를 통해 우리가 원하는 파일들을 staging area로 추가 가능하다.
git add file.py 처럼 특정 파일만 추가 할 수있으며 여러 파일들을 추가할 때는 get add file1.py file2.py file3.py 처럼 할 수 있다. 근데 그냥 git add .으로 모든 파일을 한번에 추가하면 편하다.

3. Making commits

: git commit -m "~~Commit message~~" 으로 staging area에 있는 파일들을 커밋할 수 있다. Commit message도 중구난방으로 쓰는것보단 통일감있게 작성하는게 깔끔하고 보기도 좋다.

4. Commit history

: 모든 커밋 내역을 보려면 git log 를 입력하면 된다. 명령어를 통해 보여지는 log는 각 커밋에 대한 정보를 담고 있으며, 특정 커밋시점으로 되돌리고 싶다면 git checkout <commit-hash> 를 입력하면된다. <commit-hash> 부분은 커밋의 실제 hash 값으로 대체

5. Ignoring files

: staging area에 추가하고 싶지 않거나, git에서 관리하지 않아도되는 파일이 있다면 .gitignore 파일을 프로젝트 폴더 내에 생성해주면 된다. 그리고 .gitignore 파일 안에 해당하는 파일명과 폴더명을 한줄에 하나씩 나열하면된다.

Branches

: 브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념으로 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다.
저장소를 처음 만들면, Git 은 Master라는 이름의 브랜치를 만들어 둔다(master->main 변경가능) checkout 하지 않는이상 master 브랜치에서 모든 작업이 이루어진다.
✅ 프로젝트에 존재하는 브랜치들을 확인하고 싶다면 git branch 을 입력하면 된다.

1. Creating a new branch

: git branch branch_name 명령어를 통해 새로운 프랜치 생성가능 (새로 만들어진 브랜치는 현재 프로젝트의 코드를 그대로 반영하여 생성된다.)

2. Changing branches

: git chechout branch_name 명령어로 원하는 브랜치로 이동할 수 있다. 브랜치 전환 이후에 남기는 커밋은 전환한 브랜치에 추가된다. 해당 브랜치에만 영향! 브랜치 생성과 동시에 이동하고 싶다면 git checkout -b branch_name 을 쓰면 된다.

3. Merging branches

: 예를 들어 test라는 브랜치에서 작업한 내용을 main 브랜치에 구현내용을 적용하고싶다면 Merge를 사용한다.
git merge branch_name 명령어를 통해 다른 브랜치를 현재 브랜치와 병합할 수 있다.

4. Deleting a branch

: git branch -d branch_name 을 통해 브랜치를 삭제할 수 있다.


GitHub

: GitHub은 Git repository를 위한 호스팅 플랫폼이다. GitHub은 개발자들의 SNS라고 봐도 된다. GitHub없이도 git을 사용할 수 있지만 다른 개발자와 같은 프로젝트를 두고 협업하거나 서로 코드를 공유하기는 힘들다. GitHub repository는 모든 프로젝트 파일들과 코드의 히스토리를 관리할 수 있게 해주고, public or private 하게 협업할 수 있게 해준다.

Using GitHub

: 로컬 Repository를 GitHub에 Push하기

  1. 로컬에서 add, commit 한다.
  2. GitHub 사이트에서 새로운 repository를 생성한다.
  3. 나의 로컬 repository를 GitHub repository와 연결한다. (remote 추가)
    git remote add origin https://github.com/github_username/repo_name.git
  4. 새 remote를 이용하여 코드를 Push한다.
    git push -u origin master
profile
개발 공부 기록

0개의 댓글