Git-bash 실습해보기


지금부터 Git-bash를 통해 자주 쓰는 명령어들을 실습을 한다. 잘 따라하기 바람.

 





**** git clone이 이미 된 사람들은 git clone을 skip ****

1. Git clone

$ cd 혹은 $ cd ~

$ mkdir test  (만약 test 폴더가 있으면 $ rm -rf test 후 $ mkdir test)

$ cd test

$ git clone git@gitlab.com:hjpark/KITEL_TEST.git



2. Git Checkout

2-1) branch를 생성하면서 checkout

$ git checkout -b <new branch name >      // branch 이름이 겹치지 않도록 주의!!

Switched to a new branch 'hunjin_branch' -> 새로운 branch가 생성되었고 여기로 이동함.



2-2) 기존에 존재한 다른 branch로 변경

$ git checkout  까지만 쓴 상태로 Enter를 누르지 않고 Tab 키 연속적으로 눌러본다.

61개의 branch를 볼거냐고 물어보면 y를 입력 하고 원하는 branch로 바꿔준다.

$ git checkout develop


2-3) git gui로 실행시키기

$ gitk --all       // git gui를 시작한다.   (bash창 사용 불가)

$ gitk --all &    // git gui를 새로운 창으로 시작 (bash창 사용 가능)



2-4) branch를 새로 생성하기

현재 test_khcha_add 라는 commit을 보면 어떠한 branch도 존재하지 않는다. 여기에 새로운 branch를 만들 것이다.

1. test_khcha_add 클릭 (반드시 선택을 해줘야 한다.)

2. test_khcha_add 우클릭

3. Create new branch 선택

4. 원하는 branch 명을 입력

5. 새로 생김 branch 확인


test11 이라는 새로운 branch를 생성하였다.

(만약 test11 branch가 생성 안될 경우 다른 이름으로 생성하길 바람)





2-5) branch 변경하기 





현재 branch는 develop 혹은 master에 있을 것이다. 옆에 노란색 원이 현재 선택된 branch라는 것을 알려준다. 현재 있는 branch에서 test11 branch를 checkout 할 것이다. git 명령어로는 git checkout test11 이 되겠다.



***** 주의사항 *****

1. 반드시 녹색칸을 클릭하라. 녹색칸이 해당 branch이다.

2. remotes/origin/으로 시작하는 branch는 local에 있는 branch가 아닌 server에 있는 branch이다. 그러므로 remotes/origin/로 시작하는 branch로 checkout을 할 수 없다.


1. 옮길 branch를 선택해 준다. 

2. 옮길 branch (test11) 을 우클릭 한다.

3. Check out this branch 를 클릭한다.

4. test11 왼쪽 원이 파란색에서 노란색으로 바뀐 것을 확인한다. 







3) git reset


우리는 현재 test11이라는 branch에 있다. 이 branch를 내가 원하는 commit 장소로 변경 할 수 있다. 이것은 git 강좌에서 설명했던 버전관리와 비슷한 내용이다. 자신이 원하는 시점으로 돌아가서 작업을 할 수 있다.


우리는 제일 위에 있는 complete라는 commit으로 해당 branch를 이동 시키겠다. 즉, test11 branch의 내용을 complete 라는 commit과 같게 한다는 얘기다.


1. complete 클릭 (반드시 선택을 해줘야 한다.)

2. complete 우클릭

3. Reset test11 branch to here 선택

4. Hard 체크 후 확인

5. test 11이 complete로 변경된 것을 확인한다.



Reset test11 branch to here은 git reset --hard <HEAD ID> 와 같은 기능이다.

HEAD ID는 gitk의 SHA1 ID 이다. 각각의 commit을 눌러서 직접 SHA1 ID를 확인 해 보기 바란다.


f54f58648289962406a47a7671f4f86198f59e16 -> complete 

ae6d6a5ee6678107472e97be7eb6479a99e97746 -> Fusion sh & ks

3bf25ff060bf4ab3495807c8daf85630a857173d -> test_kskim.c add

f917389b84e949322982332f15ba65ac9f9e02d4 -> ## "test2 txt file add "

d764d7a6aa3f70c274dfcee0cd9b49fd3f88e176 -> test_tskim.c add



git reset --hard 명령어를 이용하면 해당 commit으로 이동 할 수 있다.

head id는 다 써줄 필요 없이 앞에 6~8자만 써주면 된다.



$ git log -n 5          // 해당 위치로부터 최신 log 5개를 확인한다.

$ git log            // 해당 위치로부터 모든 log를 검색

- 방향키로 위아래로 이동 가능

- 나오려면 Q 입력

$ git reset --hard f54f586  //  complete로 이동 

$ git reset --hard ae6d6a // Fusion sh & ks로 이동 

$ git reset --hard 3bf25ff0 //  test_kskim.c add로 이동 

$ git reset --hard f917389  //  ## "test2 txt file add "로 이동 

$ git reset --hard d764d7a6 // test_tskim.c add로 이동 




4) git add & rm


git add와 rm은 강좌에서 설명한 것 처럼 준비영역을 관리하는데 사용된다. 변경된 내용을 add하거나 삭제된 파일을 rm을 통해 제거하여 준비영역에 저장 할 수 있다.


$ git add -u       // (변경된 내용을 update)

$ git add --all     // (추가된 파일을 준비영역에 저장)

$ git rm <파일명> // 해당 파일을 삭제



4-1) 파일 추가하기

$ touch add_test      // add_test 파일을 추가한다.

$ git status            // 현재 git의 상태를 본다.



git status를 입력하면 해당상 태를 볼 수 있다. 영어를 대충 해석하자면

add_test라는 파일이 Untracked 되었다. commit을 위해서 git add <file>를 사용하란 뜻이다.





git add --all을 통해서 빨간색이였든 add_test가 녹색으로 바뀐 것을 볼 수 있다.

$ git add --all      // 변경된 모든 파일을 추가한다.

$ git status         // 다시한번 git의 상태를 확인한다.





4-2) 파일 내용 변경하기

해당 폴더에 readme.txt를 열어서 내용을 수정한 후 저장한다.




$ git status 를 입력하면

modified:  readme.txt 가 빨간색으로 나온다. 수정된 내용이 준비영역에 저장되지 않았으므로 수정된 내용을 update 해 준다.




다음과 같이 입력하면 modified: readme.txt 이 초록색 글씨로 바뀐 것을 확인 할 수 있다. 변경된 내용이 update되어 준비영역에 저장 된 것이다.

$ git add -u

$ git status




4-3) 파일 삭제하기

해당 폴더를 열어서 merge_test2.txt를 삭제한다.





$ git status             // delete: merge_test2.txt가 삭제된 내용이라는 빨간 글씨를 확인한다.

$ rm merge_test2.txt   // 준비영역에 merge_test2.txt가 삭제되었음을 알린다.

$ git status            // delete: merge_test2.txt가 삭제되었다는 변경 내용이 적용된 것을 확인한다.





5) git commit


git status 를 입력하였을 때 전부 초록색 글씨라면 준비영역에 잘 저장 된 것이다. 이제 준비영역에 저장 된 내용들을 local git에 저장하기 위하여 commit을 한다. commit시에는 반드시 메세지 내용을 적어줘야 한다.



git commit -m "메세지 내용" 하고 입력하면 된다.


$git commit -m "git add/rm test"          // git add/rm test 메세지로 commit함


<결과> 3개의 파일이 변경되었다.

5202@ks5202 MINGW32 ~/test/KITEL_TEST (develop)

$ git commit -m "git add/rm test"

[develop dc68e3c] git add/rm test

 3 files changed, 2 insertions(+), 3 deletions(-)

 create mode 100644 add_test

 delete mode 100644 merge_test2.txt



git push 부터는 다음에..

'Git' 카테고리의 다른 글

009.Git-bash 실습해보기 (push, pull, merge)  (0) 2016.02.17
007. SSH Key 없이 git clone하기  (0) 2016.02.17
006. Tortoise git 한번에 따라하기  (0) 2016.02.16
005. Git-bash 한번에 따라하기  (0) 2016.02.16
Git 강좌 후기  (1) 2016.02.16

+ Recent posts