Quantcast
Channel: Good mind
Viewing all articles
Browse latest Browse all 511

git

$
0
0
https://git-scm.com/book/ko/v1/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0

깃(Git /ɡɪt/)은 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템이다. 기하학적 불변 이론을 바탕으로 설계됐고, 빠른 수행 속도에 중점을 두고 있는 것이 특징이다. 최초에는 리누스 토르발스가 리눅스 커널 개발에 이용하려고 개발하였으며, 현재는 다른 곳에도 널리 사용되고 있다.
- wikipedia -


clone 이라는 명령어는 기존에 이미 있는 프로젝트를 복사해서 새로 만드는 것이다.
init 이 바로 '이곳을 버전관리 해줘!'라고 말해주는 명령어다!
branch는 분기한 프로젝트 버전인데. 우리는 분기를 하지 않았다. 그래서 기본적으로 master branch 인 것이다. 지금은 이렇게만 넘어가자
commit 은 변경이력을 git이라는 버전관리시스템에 저장해놓는 것이다. 이 명령어를 통해 변경사항을 그 때 그 때 저장하고, 다시 불러올수 있는 것이다. 간단히 말하면 우리가 프로젝트를 변경함에 따라 생기는 프로젝트의 버전 이라고 이해하면 쉽다. 최초 아무것도 없었을 때 1.0, a.txt를 생성했을 때 1.1, 또 다른 변경 사항이 생겼을 때 1.2 이런식으로 버전이 달라지는 거다!
add 는 변경사항들 중에 어떤 것을 commit 할 건지 정하는 거다. 커밋이 되면 변경이력으로 남기 때문에 어떤 변경사항만을 선택적으로 해당 버전에 담을 수 있는 것이다. 이를 테면 파일 10개를 생성했다치고, 3개만 생성된 상태를 한 버전으로 하고, 나머지 전체가 들어간 버전을 다음 버전으로 삼고 싶다면, 3개만 add한 상태로 commit을 하고, 그 다음 나머지를 add한 상태로 commit하면 된다! 여튼간 커밋 될 리스트에 추가하는 것이다!




Git 도구를 다운로드 받기
초기 설정
원하는 곳에 디렉토리 만들기
git init : 로칼 저장소가 만들어짐. 
git config --global user.name "Your Name Here"
git config --global user.email  "Your Email here"
파일 보관하는 방법
git add <files> : 관리하기 원하는 파일을 stage(index)에 추가. 
git commit -m "message" : add로 추가된 파일들을 로칼 저장소(local repository)에 추가함. 이때 이유를 "message"에 명확히 담아줄 것
.gitignore에 추가하면 관리하고 싶지 않은 파일(*.o, *.bak 등)이 표시되는 것을 막을 수 있다.
기타 자주 사용하는 명령어
git status -s 짧게
git diff : 수정했지만, staged 가 아닌 파일을 비교가능
git diff --cached : staged 된 파일과, commit된 파일을 비교
git log : commit 한 내용들 보여줌
git log -p : diff 도 함께 보여줌
git log --oneline : 한줄에 하나씩만
git show [hash-value]
기타 필요한 명령어
git commit --amend : 바로전 commit을 수정. 메시지 수정 혹은 파일 추가 등등 비슷한 내용을 계속 commit 할 때, commit 숫자를 늘릴 필요 없이 바로전 commit을 수정해줌.
git reset HEAD --<file명> : staged 되어 있는 파일을 제외시킬 때
git checkout -- <file명> : 파일의 변경을 취소하고, 바로 전 commit 상태로 되돌림
git config --global alias.unstage 'reset HEAD --' : unstage라는 alias로 만듦. git unstage <file명>


git add 하고 commit하기전에 아래 명령어 입력
 git config --global user@email


nothing to commit, working tree clean 오류 발생
위의 내용은 파일을 하나도 수정하지 않았다는 것을 말해준다. Tracked나 Modified 상태인 파일이 없다는 의미다. Untracked 파일은 아직 없어서 목록에 나타나지 않는다. 그리고 현재 작업 중인 브랜치를 알려준다. 기본 브랜치가 master이기 때문에 현재 master로 나오는 것이다. 브랜치 관련 내용은 차차 알아가자. 다음 장에서 브랜치와 레퍼런스에 대해 자세히 다룬다.


warning: LF will be replaced by CRLF in..... 이런 오류
 줄바꿈 문자때문
git config --global core.autocrlf true


Viewing all articles
Browse latest Browse all 511

Trending Articles