바이오 대표

[Github] Remote repository 이용 (pull, push, fetch, clone, remote, merge) 본문

Programming enviorment

[Github] Remote repository 이용 (pull, push, fetch, clone, remote, merge)

바이오 대표 2022. 1. 9. 17:27

 

 

git remote  Lists remote repos                                       remote 저장소 리스트
git remote -v List remote repos verbosely                        remote 저장소 좀 더 자세하게 
git remote show <name> Describes a single remote repo                   remote 저장소 한개 설명
git remote update Fetches the most up-to-date objects         최신버전 fetch 
git fetch Downloads specific objects                         특정부분 fetch 
git branch -r Lists remote branches                                  git 이 현재 tracking 하는 remote branch

 

Github을 Remote repository 로 이용을 할 때: 

  1. Pull (내 컴터로 가져오기 및 병합) 
  2. Modify (수정 및 stage, commit) 
  3. Merge (수정 내용 합치기)
  4. Push (다시 Remote Respotisitory 로 내보내기)

 

사용 예시:

< Working with Remotes > 

$ git clone 

$ git remote -v 

origin remote URL ( [1] fetch [2] push )

$ git remote show origin

--> fetch, push, local, remote branch 를 보여준다 

$ git branch -r 

-->  Git repo 가 currently tracking 하는 branch 

$ git status  

-> 최신 our branch 와 origin/master branch 를 보여준다 (여기서 master branch in the remote repository == origin )

 

 

 

< Fetching New changes > 

$ git remote show origin 

--> remote branch 의 자세한 정보 파악 

* 만약 "Master pushes to master (local out of date)" 라 적혀있으면 updated 가 아직 locally 반영 되지 않은 것이다.


$ git fetch 

: copies commits done in the remote repository to the remote branches  ( can see what other people committed ) 

--> $ git checkout ( to see the working tree), 

--> $ git log ( to see the commit history)

* review the changes that happen in the remote repository / 확인 후에 git merge: integrated them into the local branch 

 

$ git merge origin/master

: 수정사항이 로컬 branch 와 병합

 

* git fetch vs git pull 

   - git pull 은 다운 및 병합

   - git Fecth는 다운만

   $ git pull = $ git fetch + $ git merge origin/master

 

 

 

 

< Updating the Local Repository> 

$ git pull

--> 자동으로 merge with local = fetch, merge 를 한번에 

 

$ git remote show origin 

 : remote branch 의 자세한 정보 파악

 

$ git checkout [newbranch name]

: local 에 새로운 branch 형성 

* new branch 는 remote 에 존재하는 것도 checkout 을 함으로 automatically copy the contents of the remote branch into the local branch 

 

$ git remote update

: fetch the contests of all remote branches and allow us to merge the contents ourselves.

 

 

 

 

* 만약 Master Repository 가 업데이트 되면 Git 이 너한테 알려줄 것이다.

reference: Coursera "Introduction to Git and Github"