Git CLI

finallazy·2022년 5월 1일
0

Git

목록 보기
1/2
post-thumbnail

git 기본

git status를 변경사항 확인해본 뒤
git add로 필요한 것을 추가하고
git commit -m "~" 으로 이에 대한 설명을 적은 뒤
git push하면 remote에 올라간다는 것을
알고 있다고 전제하고 시작

git status 관리하기

ss.s 파일과 dd.d 파일을 생성하고
ss.s 파일만 git add 한 뒤 git status를 확인하면 다음과 같이 뜬다

git add한 것은 초록색으로 뜨는데
이를 취소하고 싶다면

  • git restore --staged <file> ...

git status에 나타나지 않았으면 하는 파일은
단순무식하게 하자면 그 파일을 지우거나 해당 프로젝트 바깥 경로로 옮겨두면 된다
아니면 .gitignore 파일에 해당 이름을 적어두거나
더 나아가 *.확장자명 으로 해서 그 종류의 파일 모두 나타나지 않게 할 수도 있다

아니면 변화 사실 자체를 working directory에서 삭제하기 위해 이렇게 쓸 수 있다

  • git restore <file> ...

branch 다루기

branch 목록을 조회하고 내가 어느 branch에 있는지 확인하는 방법
이는 오로지 local의 내용만 보인다

  • git branch

remote에 있는 것만 보고 싶다면

  • git branch -r

local과 remote 모두 보고 싶다면

  • git branch -a

아래 사진을 보면
가장 왼쪽은 remote branch를,
그 다음은 local branch를,
오른쪽은 모든 branch를 확인할 수 있다

main branch를 바로 건드리는 것은 팀에게 아주 위험한 행동이다
어떤 일이든 branch를 생성해서 작업해야 한다
branch 생성 방법은 다음과 같다

  • git checkout -b {branch name}

작업 다 해버렸는데 branch 생성하는 걸 깜박했다고 겁 먹을 필요는 없다
git commit 다 하고 branch 생성 후 이동해도
그 때까지 작업한 내용은 새로운 branch에서 한 걸로 표시된다


또 다른 상황으로
누군가 다른 branch를 생성해서 작업한 뒤
거기서부터 이후 작업을 시작해달라고 한다

그럼 local에 remote의 변경사항을 update 해야된다
git branch -a를 해도 보이지 않던 그 사람의 작업이
이 명령을 치고 나면 보인다

  • git remote update

그 remote에만 존재하는 branch로 이동하는 방법

  • git checkout origin/{branch name}

구 버전 git이 아니라면, checkout으로 branch를 입력하면 switch에 대한 설명이 주루룩 나온다
checkout으로 별의 별 일을 다 할 수 있어서
이를 분리하기 위해 switch를 만들어고 이걸 사용하기 추천하는 것이다

checkout 대신 switch를 사용하면

  • branch 생성 : git switch -c {branch name}
  • branch 이동 : git switch {branch name}

필요없는 branch 삭제하기

  • local branch : git branch -d {branch name}
  • remote branch : git push origin --delete {branch name}

push 하기 전에 거쳐야 할 사항

지금까지 작성한 작업이
main branch에 합칠 수 없다면 나중에 merge할 수 없다

  • git pull origin {branch name}
    위의 명령문을 이용해 특정 branch와 내가 지금 작업한 내용이
    충돌이 일어나지 않는지 확인해야 한다

git status를 관리했던 것처럼 하거나
충돌이 난 파일에 가서
remote와 local 내용 중 어느 것을 적을 지 일일이 선택해준다


새 branch에서 작업을 다 한 뒤 remote에 올리려면
git push를 사용한다

그런데 이런 에러가 떠서 안 된다고 한다면,
이는 새 branch가 remote에 없으니 어디서 기반한 것인지
git이 모르겠다고 답하는 것이다
이걸 remote에 설정함으로써 현재 branch를 올리고 싶다면
다음의 명령문을 사용해달라는 의미다

  • git push --set-upstream origin test_branch

pull request (PR)

branch push 했다고 끝난 것이 아니다
꼭 pull request를 날려야먄 다른 branch와 합칠 수 있다

(스스로 merge하려 하지 말자...)

pull request를 받으면 그간의 변화를 한 눈에 확인하고
각각에 대해 댓글을 남길 수 있어 코드 리뷰받기 좋다

github을 예시로 들면,
상단 탭에서 Pull request를 클릭해서
Nuew pull request 버튼을 눌러서 생성하자

출발 branch와 merge가 될 도착 branch를 잘 선정했는지
compare 항목들을 유심히 살펴보며
실수하지 않았는지 잘 살펴보고 pull request를 보내자

markdown 작성하기

https://www.markdownguide.org/cheat-sheet/

git에 사고친 사람들을 위해

https://dangitgit.com/ko

profile
Are you crazy?

0개의 댓글