달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2016. 12. 14. 03:39

git 커맨드 라인에서 사용 방법(1) 형상관리/Git2016. 12. 14. 03:39

git 연습의 최상위 디렉토리는 gitprac이란 이름으로 만듦.


디렉토리 만들고 git 저장소 만들기

mkdir git_test

cd git_test

git init


여기까지 하면 디렉토리 구조는 다음과 같음.

( .git의 하위 디렉토리 구조는 몰라도 상관 없음 )


git은 3가지 공간으로 나뉨

working directory     /     staging area     /     git repository

(git_test)



이제 working directory 사용법을 보자.

git_test폴더 내부에 텍스트파일 아무거나 하나 만든다 : git_test.txt


이제 git status 명령어를 실행해 보자.

Untracked files : git이 아직 이력을 관리하고 있지 않음(변화에 관심 없음)



그럼 이제 git에서 파일 이력을 관리하기 시작해 보자.

git add git_test.txt

Changes to be committed(확정되기 위한 변화가 있음)

new file : git_test.txt라는 파일이 생김

어디에? staging area에...


그럼 이제 git_test.txt파일이 수정되면 어떻게 되나 보자.

일단 수정하자.

수정했으면, git status명령어로 다시 상태를 보자.

아까 git_test.txt를 추가한 부분(new file)은 스테이지에 반영됨.

하지만 수정된 사항이 반영되지 않았다는 의미.


다시 git add git_text.txt를 하고 git status로 확인해 보면 모든 사항이 Staging area에 반영되었음을 알 수 있음(즉, 이력이 모두 커밋되기 위한 준비가 되었다는 얘기)

이제 커밋해도 된다. 커밋해야 모든 이력이 제대로 관리되는 것이 됨.


이제 커밋해 보자.

git commit git_test.txt -m "First commit"

커밋해야 비로소 .git폴더 내부에 내용이 기록된다.


그럼 staged file과 committed file은 뭐가 다른가?

staged file은 변화를 관찰할 대상이 아님. 아직 변화 이력 저장이 안됨.

committed file은 현재 상태를 git repository에 저장한 것. 변화를 관찰할 대상이 된 것임. 앞으로 다시 지금 상태로 돌아올 수 있는 것임.


파일이 수정될 땐 어떻게 해야 하나?

위 그림의 맨 오른쪽 사각형 두개(tracked modified file -> 여기서 add해서 staged file로 만들면 커밋 가능한 상태가 됨)


커밋은 그럼 언제?

의미 있는 변화가 있을 때. 새로운 기능 추가. 오류를 고침.

또는 집에 갈 때. 생각날 때마다 해도 됨. 밤샘 작업시 자고싶을 때.




이제 또 수정해 보자.

텍스트 파일을 수정하자.

그러면 위 그림에서 staged file -> tracked modified 파일이 된 것이다.

그럼 add해야겠지?

git add git_test.txt 명령어로 add하자.

그럼 staged file이 되겠지? 이제 커밋 가능해졌다.

git commit git_test.txt -m "Add new message"

1개 파일 변화, 줄이 3줄 추가됐고, 1개 줄이 지워졌다는 뜻.



이제 gitignore로 git에서 관리하지 않을 파일들을 등록해 보자.

.gitignore 파일을 생성. (아마 윈도우에선 생성 안될거다. 일단 txt로 만들고 콘솔에서 move .gitignore.txt .gitignore로 파일명을 바꾸자)

파일 내용으로 abc.txt를 입력

이렇게 하면 abc.txt가 무시된다.

(비밀번호를 쓴 파일과 같은 것들을 올리지 않는 용도)


이제 .git에 .gitignore를 커밋하자.

git add .gitignore

git add abc_test.txt          (이건 그냥 심심해서 만든 파일)

git commit -m "Add git ignore file" 명령으로 커밋하자.



파일 지울 때는 어떻게?

그냥 윈도우에서만 지우면 git 저장소의 파일은 남아버리게 됨.

git rm test_abc.txt로 지우자.

이렇게 하면 git 저장소의 파일을 날리는 동시에 윈도우의 파일도 날려버리게 된다.


git mv git_test.txt test.txt

이렇게 하면 git에 올라간 파일명이 바뀐다.

커밋도 해서 바뀐 내용 반영하자.

git commit -m "한글도 된다"




쉬우니 아래 링크를 따라해보자!

참고 : https://www.youtube.com/watch?v=TGv-pvdCBWg

:
Posted by 클레잇