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

+ Recent posts