본문 바로가기
DevOps/Github

[Github] 기초(2)

by Haengsin 2022. 9. 6.
되돌아가기 (git rest , git revert)

1. reset, revert

(1) reset

: 원하는 시점으로 돌아간 뒤 이후 내역들을 지운다.

git reset --hard (돌아갈 커밋 해시)

-> 뒤에 커밋 해시가 없으면 마지막 커밋을 가리킨다.

 

 

  • - "reset" 명령어를 사용하여 이전 Commit 으로 돌아가기.

  • - "reset" 명령어를 사용하기 전 시점으로 복원하기
    • .git 파일을 백업해둔 뒤
    • 기존 .git 파일 삭제 후, 백업본으로 교체
    • 다시 git reset --hard 명령어 입력.

(2) revert

: 되돌리기 원하는 시점의 커밋을 거꾸로 실행한다.

git revert --hard (돌아갈 커밋 해시)

 

(3) Git Clone

$ git clon https://github.com/naonana/CICD.git

 

원격 저장소(Github)

(1) 원격 저장소 설정

- 원격저장소(remote)로 origin 이름으로 url 을 추가(add)

$ git remote add orgin {__url__}

 

(2) 원격 저장소 목록

 

$ git remote -v

 

(3) 원격 저장소 삭제

 

$ git remote rm origin

 

(4) Push, Pull

$git push orgin master

- 현재 폴더를 그대로 업로드 하는 것이 아니라, 지금까지의 이력/버전(commit)을 push 하는 것이다.

- Working directory, Staging area 의 변경 사항들은 원격저장소로 push 되지 않는다.

- 따라서, push 전에 $ git status , $ git log 를 통해서 확인하는 습관이 필요하다.

$ git pull origin master

- 원격 저장소 변경 사항(이력)을 받아온다.

- 다른 작업 환경이나 위치에서 작업할 때, 혹은 공동 작업에서 타인이 commit 해서 이력이 변경되었을 경우 등이 있다.

- 따라서, pull 을 통해 가져온 후, 작업을 진행하는 것이 좋다.

 

Branch

: 분기된 가지

  • 프로젝트를 하나 이상의 모습으로 관리해야 할 떄
    • 개발용, 특정 기능 추가 등.
  • 여러 작업들이 각각 독립되어 진행될 때
    • 신기능 1, 신기능 2, 코드 개설, 긴급 수정.
    • 각각의 Branch 에서 작업한 뒤 확정된 것을 Main Branch(Master) 에 통합.

이 모든 것을 하나의 프로젝트 폴더에서 진행하는 것이 좋다.

 

1. Branch 생성/이동/삭제

  • Dev Branch 생성.
    • $ git branch Dev

  • Branch 목록 확인.
    • $ git branch

  • "Dev" Branch 로 이동.  
    • git checkout (새 브렌치명)
    • $ git switch Dev

  • "Dev2" Branch 생성과 동시에 이동.
    • git checkout -b (새 브렌치명)
    • $ git switch -c Dev2

  • "Dev2" Branch 삭제.
    • git branch Dev2 (삭제할 브렌치명)
    • $ git branch -d Dev2

  • "Dev3" Branch 강제 삭제.
    •  지워질 Branch에만 있는 내용의 커밋이 있을 경우. 즉, 다른 Branch로 가져오지 않은 내용이 있는 Branch 를 지울 때는 강제 삭제해야한다.
    • git branch -D Dev3 (강제 삭제할 브렌치명)
    • $ git branch -D Dev3

  • Branch 이름 바꾸기.
    • git branch -m (기존 브렌치명) (새 브렌치명)
    • $ git branch -m test Dev

 

 

※ mac 에서 숨김 파일 보기 : command + shift + .

'DevOps > Github' 카테고리의 다른 글

[Github] 기초  (0) 2022.09.05