관리 메뉴

bright jazz music

blog15 : Git 자주 쓰는 명령어 예제 1 본문

Projects/blog

blog15 : Git 자주 쓰는 명령어 예제 1

bright jazz music 2023. 1. 29. 20:46

깃을 쓰는 경우 처음부터 CLI 환경에서의 사용을 추천

소스트리와 같은 도구를 사용하는 경우 문제가 생겼을 때의 원인을 파악하기 어려운 경우가 존재.

git status
git log
git push
git push -u origin 푸시할브랜치명
git add 파일명
git add .
git checkout
git checkout -b 새로운브랜치명
git branch -D 삭제할브랜치명
git commit
git commit -m "커밋메시지"
git commit -a -m "커밋메시지"
git merge
git merge --no-ff --log 머지할브랜치명
git rebase 리베이스할브랜치명
git rebase --continue
git rebase --abort
git reset
git reset --hard origin/원격브랜치명
git reset HEAD^

 

 

1. git status

업데이트가 없는 상태일 때
소스 변경
바뀐 위치를 보여준다.

2. git diff

변경된 내용을 보여줌.

 

3. git add , git reset

git add: 스테이지에 올린다.

git reset: 스테이지에 올라간 파일을 스테이지에서 내린다.

git add로 올리고 git status로 확인, 다시 git reset한 뒤 git status로 확인

 

git add . 을 하면 현재 디렉토리의 모든 파일을 올린다.

ctrl + w를 사용하면 문장단위로 지울 수 있다.

 

4. git commit

스테이지에 올라와 있는 것을 commit한다.

5. git log

커밋 로그를 볼 수 있다.

 

6. git config

깃 설정을 할 수 있다.

//ex
git config --local user.name "testUser"
git config --local user.email "test@testmail.com"

//global: 전역 config, local: 현재 이 리포지토리
//이 외에도 config관련 명령어가 많다.

 

7. git push

작업한 내용을 원격 repository에 올린다.

 

 

8. git checkout -b 브랜치명 :브랜치 생성

신규 기능 작업을 위해 브랜치를 새로 만들어야 할 수도 있다.

이 경우 git checkout -b 브랜치명 을 사용해서 새로운 브랜치를 만들 수 있다.

mybranch생성

git branch 명령어를 사용하면 브랜치 목록과, 현재 내가 사용하고 있는 브랜치를 보여준다.

 

만약 아래와 같이 다시 수정한다면

hello world1 ==> hello world2
The current branch mybranch has no upstream branch. 따라서 git push --set-upstream origin mybranch하라고 뜬다.

 

--set-upstream 은 -u 옵션과 똑같다.

mybranch로 가서 확인해 보면 바뀌어 있는 것을 확인할 수 있다. main브랜치에 커밋한 것이 아니므로 당연히 main브랜치의 PostController.java에는 변경이 없다.

 

9. git merge

브랜치의 내용을 합친다.

예시의 경우 우선 main브랜치로 이동한 후 mybranch의 내용을 main에 merge한다.

git checkout main: main브랜치로 이동. git merge mybranch: mybranch를 main브랜치에 합병

 

10. git reset --hard 해쉬코드

git reset --hard 해쉬코드 를 사용하여 커밋을 이전으로 되돌린다.

위의 git merge 예시에서 merge 작업 이전의 커밋으로 돌아가려면 hello world1 커밋으로 돌아가면 된다.

hello world1 커밋의 해쉬코드는 d3d981f2c91dbdf2b7ce59dead44d589058d4212 이다.

 

git reset --hard d3d981f2c91dbdf2b7ce59dead44d589058d4212 

 

 

 

Comments