본문 바로가기

git/github

github

* git clone은 Github의 모든 파일들을 가져오기만 함
* git pull은 local repository와 비교하여 병합하고, local repository에 저장(add)까지 수행
  git pull = git fetch + git merge
  git fetch : local에 연결된 remote repository의 브랜치 목록과 그 파일 내용을 최신으로 업데이트 하는 명령어(local과 remote의 싱크를 맞추는 새로고침 역할)
  git merge : 두 개의 branch를 병합하는 명령어

→ 즉, 단순히 원격 저장소의 내용을 확인만 하고 로컬 데이터와 병합은 하고 싶지 않은 경우에는 fetch 명령어를 사용

*zip파일 : .git 폴더가 없는 채로 소스만 받을 수 있으므로, local에서 Git을 새롭게 꾸려나가야한다.
*clone : .git 폴더까지 포함해서 소스를 받을 수 있다.
*pull : remote repository에 저장된 파일을 가져와 local repository의 내용을 갱신한다. / 병합(merge)과정이 발생
        해당 remote repository에 권한이 있어야 pull명령어를 실행할 수 있다.

* git add --update
현재 Git이 추적하고 있는 파일들만 add

* git rm --cached 파일이름
add했을 때, 되돌리고 싶을때 사용(Staging area에서만 제거하고 working directory유지하는 명령어)

* git commit --amend -m "수정된 메시지"
마지막 커밋메시지 잘못 작성했을 경우 다시 커밋하여 수정

*git remote add origin 원격저장소주소 : 자신의 로컬 저장소를 원격 저장소로 연결시키겠다는 명령어
→ origin은 원격 저장소의 주소가 너무 길기 때문에 앞으로 origin이라는 별칭을 만들어 사용하겠다는 의미.
(보통 관습적으로 자신의 로컬 저장소의 직접적인 연결이 되어있는 저장소는 origin이라 붙여준다.

*git push -u origin master 
→ -u옵션은 push하는 기본 브랜치를 origin master로 지정하겠다는 의미로 최초에 한 번만 사용하면 된다.
앞으로 그냥 git push 해주면 됨

 

*풀 리퀘스트(Pull requests)
기능 개발을 끝내고 master에 바로 병합(merge)하는 것이 아니라, 브랜치를 중앙 원격 저장소에 올리고 master에 병합(merge)해달라고 요청하는 것

9. reset과 revert의 차이점

그렇다면 언제 git reset을 쓰고 언제 git revert를 사용할까요?

 

git reset은 remote repository까지 컨트롤할 수 없습니다.

커밋 이력이 삭제되므로, remote와 싱크가 안맞아서 결국 push 할 수 없습니다.

따라서 이미 원격 저장소에 push를 한 상태에서 되돌리고 싶다면 git revert를 사용해야 합니다.

 

병합 과정에서는 revert 명령어가 더 먼 과거의 버전으로 돌아갈 수 있다는 점이 다르네요.

 

[ 출처 ]

https://victorydntmd.tistory.com/category/Git

 

'Git' 카테고리의 글 목록

웹 개발

victorydntmd.tistory.com

https://victorydntmd.tistory.com/74 

 

[Git] 명령어(2) - remote, push, clone, pull

이전 글에서는 local repository 내에서 버전 관리를 하는 방법에 대해 알아보았습니다. 이번 글에서는 remote repository 관련 작업을 하는 git clone, git remote, git push, git pull 명령어에 대해 알아보도록..

victorydntmd.tistory.com

https://gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html

 

[GitHub] GitHub로 협업하는 방법[1] - Feature Branch Workflow - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

'git > github' 카테고리의 다른 글

[GIT] 실행취소와 Commit 삭제: reflog, reset, checkout, revert  (0) 2019.09.02
git ignore  (0) 2019.09.02
git 삭제하기  (0) 2019.09.02
git 되돌리기  (0) 2019.09.02