돌공공돌

[Git] Git Command 정리 && 실습 모습🤩 본문

IT/Git

[Git] Git Command 정리 && 실습 모습🤩

오로시 2020. 4. 8. 18:47

👣git 사용 방법

 

step 0 저장소 받아오기

 

git pull "인터넷 주소"

 

 

1. 로컬 저장소를 복제(clone)하기

    

git clone /로컬/저장소/경로

 

2. 원격 서버의 저장소를 복제하기

git clone 사용자명@호스트:/원격/저장소/경로

 

 

step 1 add (추가) 하기

 

변경된 파일은 아래 명령어로 (인덱스에) 추가한다.

 

git add 파일이름

step 2 commit (등재) 하기

 

실제로 변경 내용을 등재(확정)한다

git commit -m " 설명"

 

이를통해 변경된 파일이 HEAD에 반영되었다.

 

step 3 변경 내용 push (발행) 하기

 

현재의 변경 내용은 아직 로컬 저장소의 HEAD 안에 머물고 있다.
이제 이 변경 내용을 원격 서버로 올려야 한다.

그러기 위해서는 push 하는것이 필요하다

 

git push origin master

만약 기존에 있던 원격 저장소를 복제한 것이 아니라면,
원격 서버의 주소를 git에게 알려줘야 한다.

 

 

git remote add origin <원격 서버 주소>


이제 변경 내용을 원격 서버로 발행할 수 있다.

 

step 4 가지(branch)치기

 

가지는 안전하게 격리된 상태에서 무언가를 만들 때 사용한다.
저장소를 새로 만들면 기본으로 master 가지가 만들어진다.
다른 가지를 이용해서 개발을 진행하고, 나중에 개발이 완료되면 master 가지로 돌아와 병합한다.

 

git checkout -b feature_x

 

 

아래 명령으로 master 가지로 돌아올 수 있다.

git checkout master


아래 명령으로는 가지를 삭제할 수 있다.

git branch -d feature_x


여러분이 새로 만든 가지를 원격 저장소로 전송하기 전까지는
다른 사람들이 접근 할 수 없다.

git push origin <가지 이름>

 

step 5 merge (갱신과 병합)

 

로컬 저장소를 원격 저장소에 맞춰 갱신하려면 아래 명령을 실행한다.

git pull

 


이렇게 하면 원격 저장소의 변경 내용이 로컬 작업 디렉토리에 받아지고(fetch), 병합(merge)된다.
다른 가지에 있는 변경 내용을 현재 가지(예를 들면, master 가지)에
병합하려면 아래 명령을 실행한다.

git merge <가지 이름>


첫번째 명령이든 두번째 명령이든, git은 자동으로 변경 내용을 병합하려고 한다
문제는, 항상 성공하는 게 아니라 가끔 충돌(conflicts)이 일어나기도 한다.


이렇게 충돌이 발생하면, git이 알려주는 파일의 충돌 부분을 직접 수정해서 병합이 가능하도록 해야 한다.
충돌을 해결했다면, 아래 명령으로 git에게 아까의 파일을 병합해야 한다.

git add <파일 이름>


변경 내용을 병합하기 전에, 어떻게 바뀌었는지 비교해볼 수도 있다.

git diff <원래 가지> <비교 대상 가지>

 

step 6 꼬리표(tag) 달기

 

소프트웨어의 새 버전을 발표할 때마다 꼬리표를 달 수 있다.
아래 명령을 실행하면 새로운 꼬리표인 1.0.0를 달 수 있다.

git tag 1.0.0 1b2e1d63ff


위 명령에서 1b2e1d63ff 부분은 꼬리표가 가리킬 확정본 식별자이디ㅏ.
아래 명령으로 확정본 식별자를 얻을 수 있다.

git log


확정본 식별자의 앞부분 일부만 입력해도 꼬리표를 붙일 수 있지만,
그 일부분이 반드시 고유하다는 조건이 필요하다.

 

 

step 7 로컬 변경 내용 되돌리기

 

실수로 무언가 잘못한 경우,
아래 명령으로 로컬의 변경 내용을 되돌릴 수 있다.

git checkout -- <파일 이름>


위 명령은 로컬의 변경 내용을 변경 전 상태(HEAD)로 되돌려준다.
다만, 이미 인덱스에 추가된 변경 내용과 새로 생성한 파일은 그대로 남는다.

 

만약, 로컬에 있는 모든 변경 내용과 확정본을 포기하려면, 아래 명령으로 원격 저장소의 최신 이력을 가져오고, 로컬 master 가지가 저 이력을 가리키도록 할 수 있다.

git fetch origin
git reset --hard origin/master

 

 

유용한 TIP

 

파일을 추가할 때 대화식으로 추가하기

git add -i

 

출처 : https://rogerdudler.github.io/git-guide/index.ko.html


Git 실습 내용

 

목표

 

나의 개인프로젝트를 git repository로 관리한다. (in peace server)
github 에 원격 repository로 보관시킨다

 

1. github.com 에 가입(이메일, 비번 기억) 후 repository 생성 (이름 : project1)


2. peace 서버 로그인

 


3. git global 값 초기화

 


4. 프로젝트 디렉토리에서 git repository 생성

 

 


5. 소스파일 추가 (로컬 저장소 임시공간에 등록)

 

 

 

 


6. 커밋 (로컬 저장소 등재)

 


7. remote repository로 push

 

 

 

8. Github.com  에서 확인 하기

 

 

9. 소스 코드 수정 하기

 

 

수정한 후

10. 코드 수정한 후 add 하고 commit 하기

 

 

11. 파일 수정한 뒤 add 하기

 

12. commit 한뒤 remote repository 로 push 하기

13. github에 올라와 있는지 확인하기

 


git log 

 

 

git log --oneline

git log --pretty=oneline

git log --graph

git log -p -1

Comments