git 환경 설정 및 페어 프로그래밍

김민석·2021년 2월 23일
0

Immersive

목록 보기
2/30

👉 최초 설정

최초 설정의 방법은 아래 사이트에 매~우 자세하게 나와있다.
https://git-scm.com/book/ko/v2/시작하기-Git-최초-설정

나는 위 방법에 따라 이름/이메일을 설정해 주었고,
editor는 vi로 설정했다. (나노가 쉽다고는 하는데, 기능이 쉬운 것부터 배우면 거기에 종속될 것 같았다...)




👫 git을 이용해 페어 프로그래밍 하기

git을 이용해서 상대방과 페어 프로그래밍을 하려면 이걸 기억 해야하는 것 같다.

  • push는 내 repository에.
  • pull은 상대방의 repository 것을!

git push <remote_repo> <local_branch>:<remote_branch>
git push는 위 명령어에서 필요 없는 부분이 생략된 것이다.
git push <remote_reop> <branch_name>은 local과 remote의 branch 이름이 같을 때 사용하면 된다.



🤯 충돌 해결

git push 했는데 충돌이 생긴 경우에는

  • 우선 push 하려고 했던 대상을 pull 함
  • 충돌 부분을 VS code등으로 확인한 후, 충돌한 부분을 어떻게 해결 할 것인지 선택
  • add/commit/push 재진행



🌲 branch


  • 생성

branch의 생성은 다음을 통해 할 수 있다.

$ git checkout -b <branch_name>

  • branch간 이동

branch간 이동은 다음을 통해 할 수 있다.

$ git checkout <branch_name>

  • branch 확인

local branch 확인은 다음을 통해 할 수 있다.

$ git branch [-r] # -r을 붙이면 remote branch까지 확인 

@참고 : branch를 바꾸면 VS code의 내용도 실시간으로 바뀐다


😇 Remote


  • 기존 워킹 디렉토리에 새 리모트 저장소 추가

$ git remote add <name> <url>

정확하겐 알 수 없지만 이렇게 추가를 하는 것은 특정 url을 참조 할 수 있도록 지정해주기만 할 뿐, 내용까지 긁어오는 것은 아닌 것으로 보인다. 따라서 내용을 긁어오기 위해서 fetch를 실행해 주어야 한다.


  • fetch를 이용하여 remote 저장소의 내용 가져오기

$ git fetch <remote>

이 방법은 내용은 가져오지만 merge하지 않는다고 한다.

$ git remote update를 하면 모든 remote 저장소를 fetch 해오는 것으로 보인다.


  • pull을 이용하여 remote 저장소의 내용 가져오고, merge 하기

$ git pull <remote>

pullfetch -> merge를 한번에 실행한다.


참고 사항:

<git clonegit remote add의 차이점>

-stack overflow 링크
https://stackoverflow.com/questions/4855561/difference-between-git-remote-add-and-git-clone

간략하게 요약하자면
👉git clone은 url에 위치하는 저장소를 copy하여, 새로운 저장소를 만드는 것.
👉git remote add는 git config에 특정 URL의 이름을 기록만하는 것이다.

즉, git clone는

 $ mkdir foo
 $ cd foo
 $ git init
 $ git remote add origin REMOTEURL
 $ git pull origin master
 $ cd ..

이 동작을 연속적으로 시행해준 것과 같다.


tracking과 upstream

tracking branch

tracking branch는 remote branch와 직접적인 연결고리가 있는 local branch라고 한다.

아래 두 링크로 들여다보면 잘 이해가 될 것이다.

특히 remote tracking branch와 upstream branch가 헷갈린다...

이해를 해보자면,

아래 명령어로 특정 remote branch를 tracking하는 branch를 생성 할 수 있다.

git checkout -b <branch> <remote>/<branch>

혹은

$ git push --set-upstream <remote> <local_branch_name>:<remote_branch_name>

을 통해 push와 동시에 특정 local branch가 특정 remote branch를 tracking 하게 할 수 있다.

0개의 댓글