본문 바로가기
기타/OSS( open source )

Git 명령어 정리

by Jun_N 2018. 6. 18.

1. git init : /.git/ 이라는 폴더가 생성된다. 이걸 사용해야 git을 쓸 수 있다.
- git 사용을 위한 초기 환경이다.
-원하는 directory로 들어가서 git init을 하면 된다.

2. git status : 현재 파일들의 상태를 볼 수 있습니다.
-add되거나 add가 되지 않은 파일을 구분해서 볼 수 있다.
add가 안되어 있으면 밑에 과정을 참고하면 됨.

현재 branch는 master라는 뜻이다. commit을 해야만 Git에 저장이된다.

3. git add file명:  이걸 사용해야 그 파일을 사용할수있다.(git이 추적할수 있게 저장소에 저장된것)

다시 git status를 사용해보자.

octocat.txt가 초록색으로 변경된걸 확인할 수 있다.
-> add가 되어야 commit이 가능하다.

4. git commit -m 메세지: commit 하는것. -m 옵션이 다음에 설명이 온다는 것을 표시합니다.

*참고로 add와 commit을 동시에 하는 방법이 있다. git commit -am [설명] 으로 -a를 추가해주면 add도 동시에 된다. 나중에는 귀찮아서 한번에 하는 경우가 많다.

이제 모든 text files 을 추가했다. 

몇가지 commit을 만들었다.

-> 버전을 저장하는 과정이다. 메세지를 넣음로써 확인가능.

git log : commit된 내역을 볼 수 있는 명령어


commit을 통해서 Untracked를 Tracked로 전환할 수 있고, Tracked된 파일만이 Git에 저장된다.
commit된 것을 확인가능.
참고로 git log --graph 를 사용하면 필요한 정보만 보기좋게 나온다.

git clone 주소 : github에서 파일을 내려받는 명령어.
git remote add 저장소별칭 주소.: 원격 저장소를 관리할 수 있는 명령어입니다.

try-git 이라는 이름으로 원격 저장소를 만든다.  이 이름을 사용하면 방금 전에 우리가 만든 저장소에 접속할 수 있다.
보통 origin을 저장소별칭으로 자주 사용한다. 
git remote -v 를 사용하면 잘 작동하는지 확인가능.

git push

처음 push할때는 git push origin -all로 접근가능하게 가고 github 아이디와 비밀번호를 입력하면된다.

git push origin master 를 하면 origin은 원격 저장소 이름이고, master은 현재 사용하는 컴퓨터의 브랜치 이름이다  (master는 현재 commit이 저장된 곳)
-u는 매개변수를 기억하라고 하는것.

git pull

git pull은 다른 사람이 PR을 통해서 코드를 업데이트했거나, 아니면 Github를 통해서 commit했을 때(Github를 통해서도 간단한 commit을 할 수 있습니다) 그 내용을 클라이언트로 내려받는 명령어이다. git pull origin master 하면 origin의 내용이 master로 복사된다.

*git fetch 는 pull과 다르게 사용자에게 무엇을 합칠것인지 물어본다. pull은 그냥 다합쳐서 뭐가 뭔지 알아보기 힘듬.

git diff : 만약 수정된 파일에서 어떤 부분이 달라졌는지 확인하고 싶을때.

바뀐 부분이 -와 +를 통해 보여집니다.

octofamily 을 추적할수있게 해줌.

git diff --staged

방금 스테이지한 변경내용을 볼 수 있다.

git reset: staged된 상태를 modified로 돌림.

만약 add까지 해서 Modified가 아니라 Staged 상태라면 원래대로 어떻게 되돌릴까요? git reset git.html하면 Staged 상태에서 Modified 상태로 돌아갑니다.
commit을 한 후에 되돌릴 때도 git reset이 사용됩니다. 옵션이 세 가지가 있는데요. --soft, --mixed, --hard입니다. --soft는 파일들을 commit 후의 Unmodifed에서 commit 직전의 Staged 상태로 만들고, --mixed는 Unmodified에서 commit 전의 Modified 상태로 만듭니다. --hard는 Unmodified에서 commit 전의 Unmodified로 만듭니다. 

git checkout : 수정을 잘못해서 파일을 원상태로 되돌리고 싶을 때 사용합니다

checkout 을 사용햇더니 octocat.txt가 바뀐것을 확인할수있다.

git branch [브랜치명] : 브랜치를 생성하는 명령어!!

여기서 브랜치란..? 
*브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념입니다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다. 

git checkout [브랜치명] : 브랜치를 변경하고 해당 파일을 워킹 디렉토리로 복사한다.


처음 브랜치가 생성되면 작업이 master에서 되는데 checkout을 이용하여서 작업장소를 옮긴다.
참고로 git checkout -b 브랜치이름 : 브랜치를 만들면서 옮기는것을 한번에 한다.

git rm : 파일을 제거하는 명령어.

디렉토리에 있는 파일도 삭제하기 때문에 실제로 파일도 지워진다.

git merge 브랜치:다른 브랜치를 현재 Checkout된 브랜치에 Merge 하는 명령이다

git branch -d 브랜치명 를 사용하면 이제 필요없어진 브랜치를 삭제할 수 있다.

git push : 저장소에 push한다.

자신의 github에 들어가면 바뀐 자료를 확인할수 있을것이다.

여기까지 하고 기본적인 git 사용법을 마치겠다.