Git 개념과 사용법
잡담 1
Git을 처음쓰면 UI로 처리하는 툴도 많은데 왜 깜깜한 Shell에서 이런'짓'을 해야하지? 이게 트랜드라고? 라는 생각이 많이 들었었다.
그런데 한국어로 '깃' 일까 '짓' 일까?
Ref: http://www.clien.net/cs2/bbs/board.php?bo_table=park&wr_id=43154274
=> '깃' 이라고 부르는게 좋겠다.
Git이야 몇년동안 많이 써봤지만 다른 Repository를 쓴 적이 별로 없어서 마땅히 비교할만한 건 없지만
필자가 생각하는 장점은
- Line 별로 Difference를 비교하기 때문에 같은파일을 여러사람이 같이 작업하기 편하다.
- 각자의 Repository를 만들기 때문에 Server가 날아가도 Client에 저장된 상태까지로는 History까지 원복가능
- 리눅스 명령어를 익히게 되고 친해진다.(당장 퇴근해야 되거나, 배우고 싶지 않은 사람에겐 단점이다.)
... 생각나면 더 쓰겠다.
필자가 생각하는 단점은
- 명령어로 하는게 가장 확실해서 결국 명령어를 어렵게 익히게 한다.
- 반영하는 단계가 로컬 2단계, 서버로 1단계 분할되어 있어서 번거로울 수 있다.(반대로 안전할 수는 있다.)
- git add, git commit 등의 절차를 왜 해야 하는지 설명하기 어렵다.
- conflict를 해결하는 방법이 어렵다.
# Git 사용법
git의 첫 사용자로서 단순히 소스를 다운받아 몇가지 수정을 하고 반영하는 case에 대해서 알아보자
1. 서버로부터 소스를 가져온다.
2. 수정을 한다.
3. 서버에 반영한다.
이 동작을 위해 당신이 알아야할 git 사용법에 대해서 알아보자.
1. 서버로부터 소스를 가져온다.
$ git clone [서버에 있는 git 저장소 주소] [-b [브랜치명]]
ex) $ git clone https://github.com/tensorflow/tensorflow.git -b R0.8
1) 서버로부터 git을 가져오는 키워드 'git clone' 으로 시작
2) 서버에 있는 git 저장소 주소를 입력
3) 혹시 branch가 master(default)가 아니라면 branch명을 입력
소스를 한번 가져왔다면 ''
2. 수정을 한다.
이건 뭐 다들 알아서 고치시리라...
3. 서버에 반영한다.
$ git add [반영할 파일]
ex) $ git add .
=> 수정된 모든 파일을 반영(반영되지 않는 경우도 있었는데 까먹음)
$ git commit [-m [반영할 제목]]
ex) $ git commit -m "test commit"
=> 그냥 'git commit'만 입력해도 vi editor 화면으로 넘어가면 좀더 상세하게 제목과 내용을 작성할 수 있다.
$ git push [origin [올릴 branch 명]]
ex) $ git push
=> 서버에 보내는 방법이다.
=> origin 은 서버를 뜻한다.
=> git clone할때 특정브랜치로 가져왔고 브랜치를 변경하지 않았다면 예제와 같이 생략 가능하다.
혼자 아주 단순히 개발할 것이라면 이 정도만 알면 되지만
안타깝게도 git의 목적은 여러사람과 같이 쓰기에 발생하는 예외케이스들이 꽤 많다.
흔히 겪었던 "나는 왜 안되지?"case를 정리해둔다.
여기 정리된 case가 아니라도 git은 에러상황에 대한 어떠한 실마리를 제공해주니 에러내용을 잘 읽고 따라해보자.
여기서 설명 >>> http://dukwon.tistory.com/10
'Git' 카테고리의 다른 글
git 트러블 슈팅(trouble shooting) (0) | 2017.02.22 |
---|---|
git repository 끼리 merge 하기 (0) | 2017.02.16 |
gitlab 서버 구성하기 (0) | 2017.02.08 |