본문 바로가기
IT공부

GIT 공부

by 코엘리 2018. 11. 25.
반응형

git 기본

1. git 초기 사용시

git config --global user.email "내이메일"

git config --global user.name "내이름"


2. git 저장소 연결(친구 repository)

mkdir 저장폴더

cd 저장폴더

git clone <https 복사 주소>



3. 복사한 폴더로 이동 

cd 복사폴더


4. git status


5. git branch [branch명]


6. git checkout [branch명]




if ) clone 중 누군가가 작업을 했다면?! push 가 안될 것 ! 

why? 누군가가 새로 push 했기 때문에

로컬과 서버의 커밋 히스토리는 독립적임.


1. git fetch origin

리모트 서버로부터 저장소 정보 동기화

새로운 정보를 모두 내려받고, 받은 데이터를 로컬 저장소에 업데이트하고 나서 origin/master 포인터의 위치를 최신 커밋으로 이동시킴.


로컬의 브랜치를 서버로 전송하려면 쓰기 권한이 있는 리모트 저장소에 Push해야 한다.

로컬 저장소의 브랜치는 자동으로 리모트 저장소로 전송되지 않는다.


git push <remote> <branch> 명령 사용

git push origin serverfix:serverfix 

= 로컬의 serverfix브랜치를 리모트 저장소의 serverfix브랜치로 push하라.


2. git merge origin/master

: 현재 내 branch 에서 merge 시키면 됨.


3. git push 



if) branch 따서 수행 중 바꼈다면?

git fetch origin

git checkout master

git merge <branch> // 현재 브랜치 head로 master 옮기기

git merge <origin/master>


get push origin master



cf) 리모트 브랜치란?

리모트 저장소에 있는 포인터인 레퍼런스.

git ls-remote [remote] : 모든 리모트 조회 가능

git remote show [remote] : 모든 리모트 브랜치와 그 정보


1) 리모트 트래킹 브랜치: 리모트 브랜치를 추적하는 레퍼런스

2) 리모트 트래킹 브랜치는 로컬에 있지만 임의로 움직일 수 없다.

3) 리모트 서버에 연결할 때마다 리모트의 브랜치 업데이트 내용에 따라서 자동으로 갱신

4) 리모트 트래킹 브랜치 = 마지막으로 연결했던 순간에 브랜치가 무슨 커밋을 가리키고 있었는지 북마크



* origin 의 의미

- 브랜치 이름으로 많이 사용하는 “master” 라는 이름이 괜히 특별한 의미를 가지는 게 아닌 것처럼 “origin” 도 특별한 의미가 있는 것은 아니다. 

- git init 명령이 자동으로 만들기 때문에 사용하는 이름인 “master” 와 마찬가지로 “origin” 도 git clone 명령이 자동으로 만들어주는 리모트 이름이다.

git clone -o booyah 라고 옵션을 주고 명령을 실행하면 booyah/master 라고 사용자가 정한 대로 리모트 이름을 생성해준다.



참고 URL: https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%A6%AC%EB%AA%A8%ED%8A%B8-%EB%B8%8C%EB%9E%9C%EC%B9%98

반응형

'IT공부' 카테고리의 다른 글

node 버전 관리하기  (0) 2019.09.18
anaconda(가상환경)를 이용한 gensim과 konlpy 설치 순서  (0) 2019.02.21
php vs. Node  (0) 2019.02.12
클라우드 인프라란?  (0) 2018.11.06
java, jsp, javascript, jquery 구분!  (0) 2018.11.05