git command

younghyun·2022년 2월 5일
0

git clone

클론(작업할 공간인 나만의 환경에 복제해서 내 작업 하겠다라는 것.) 받을 Repository준비
(깃이 이미 추적, 관리하는 파일이어서 git init 할 필요가 없음.)


code초록색 버튼 누르기

버튼을 눌러서 복사 -> iterm 열기 -> repo 다운받고 싶은 경로로 이동 -> cd Desktop (데스크탑에 이 폴더와 파일들을 담고있는 폴더 만들려는 것) -> 클론 받으면 데스크탑에 westagram-frontend 폴더가 하나 생김.
안에 내용들은

위에 내용이 담겨져야 함. 직접 해봄


cd Desktop -> ls

다운 잘 됨. 우리가 작업할 공간인 나만의 작업환경 만들어주고 여기서 작업 시작하면 됨.

git branch & git check out

원하는 리포지터리 컴퓨터로 클론 받음. -> 내가 작업할 환경인 브랜치 생성해야 함. -> Git branch feature/seunghyunsong( 기능별로 브랜치를 보통 만들어서 기능을 많이 넣음. Login, signup 이런 식으로 이번 과제에서는 본인 이름으로 브랜치 만들라고 되어있음. )

잘 생성 되었는지 확인하려면 Git branch

어떤 브랜치들이 있는지 확인할 수 있음.

초록색 불 들어오고 * ( 현재 이 브런치에 있다는 뜻 )
브랜치로 이동함.
Git checkout feature/seunghyunson

git branch로 확인

브랜치 체크, git status, git add

작업 시작 전 내가 작업하고 싶은 브랜치로 이동했는지 꼭 확인해야 함.
vsc코드는 편리한 기능이 있음. 좌측 하단에 내가 들어와있는 브랜치 명이 보임
( 많이 실 수 하시는 게 master브랜치에서 작업하고, push하려고 함. master 브랜치는 push권한 막아 놓음. 무조건 브랜치 생성해서 작업 내용에 대한 리뷰를 저희에게 받고, master로 합쳐야함. )

또는 git branch 라는 커맨드(명령)으로 확인 가능

README.md파일에 이름 쓴 후 저장함

작업완료 한 후 부터 중요

git status

파일 변경, 삭제, 추가 전부 나옴.
빨간색은 아직 stage(git이 변경사항 트랙할 수 있도록 변경사항을 저장해주는 것)를 하지 않은 것
저장해야 commit메세지(작업 내용 알려주는 메세지. stage라는 절차 거쳐야 함.)남길 수 있음.

Git add stage하고 싶은 파일명( 보통 전부 하고 싶어서 .(dot)을 붙여줌. )

Git status로 확인하면 초록색 된 것 확인 가능. ( 변경사항이 commit메세지를 남길 준비됬음을 의미 )

git commmit

commit메세지 컨벤션 있음.

커밋메세지를 m플래그를써서 한 줄 짜리로 많이 만드심.
저희는 좀더 상세하게 맞추기위해서 Muliti line 커밋 활용

Git commit치면 에디터 열림

에디터에서 아래 template에 맞춰서 커밋 메세지 작성.


add: 이름 추가
-상세 detail
-상세 detail
esc(에디터 모드 나가기) + :wq(저장)

쓴대로 저장 되는 것 볼 수 있음.
git log 입력 ( commit 메세지를 제대로 남겨 졌는지 확인 )

맨 위에 내가 마지막으로 남긴 commit 메세지가 뜸

git push

push : 내가 변경한 브랜치를 그대로 깃허브에 밀어서 보내는 것. 그럼 그걸 우리 멘토들이 확인 하고 코드 리뷰를 달고 최종적으로 orign에 있는 Master브랜치와 합쳐짐.

git push origin feature/branch 이름

origin을 꼭 붙여줘야 함.
master 브랜치가 local master, origin master가 있듯이
feature branch도 local feature branch (내가 가지고 있는)가 있고 origin feature branch (오리진에 있는)가 있음
지금 branch를 local에서 생성함. 그럼 애를 똑같이 oring에 origin feature branch로 만들어줘야 함. 그 과정이 push하는 과정

push 후 이 branch를 master branch와 합쳐주세요 하는 요청을 pull request로 함.

pull request


push한 다음에, Create a pull request라고 뜸.
이 밑에 링크가 바로 풀 리퀘스트를 만드는 링크
command키를 누른 상태로 링크를 클릭하면
바로

풀 리퀘스트 만드는 페이지로 감
mutiline커밋으로 만들어서
body 부분이 붙어나옴.

  • 상세 detail
  • 상세 detail2
    를 지우기


기본 pr템플릿이 있음.
수정사항: 간략한 한줄 요약
기타 질문 및 특이사항 : 적어주면 멘토님들이 답을 남김.
체크 리스트 : 체크하려면 소문자 x ( 칸이 있으면 안됨 )
preview보시면 체크가 됨

다 체크 했다면

버튼을 통해 최종적으로 Pull request 날려주시면 됨.

작성한게 그대로 있고
commit 메세지도 있음.눌러보면

Add: 이름추가 ( 제목 )
밑에 상세 내용, 변경 내용이 나옴

pull request 요청할 때

라벨도 같이 입력
도움 요청 : 뭔가 막혔는데 주변에 멘토가 없다던지 이럴 떄 도움요청을 라벨 남기면 찾아가던지 코멘트 남김
리뷰 요청 : 내가 작업을 완료했고 다 확인했으니까 코드 리뷰 해주세요 요청.
수정 요청 : 리뷰 요청 하면 저희가 주는 것

위에 pull request4라고 적힌 부분 눌러보면

방금 제가 올린 branch가 status:수정 요청 되있음. 리뷰 반영해서 push하고, 수정 요청 없애고 리뷰 요청으로 바꾸기.
수정 사항 없으면 멘토님들이 master브랜치에 merge.

git pull


수정 사항 반영한 내용을 Github에 master브랜치에만 합친 것. git pull명령어로 로컬 master브랜치에 다시 가져와야 함.

  • git clone, git fetch와 차이점
    • git fetch : 코드를 가져오지만 merge하지는 않음.
      원격 저장소 최신 이력 내용 확인만 하고 로컬 데이터와 병합 하고 싶지 않은 경우
    • git pull (fetch + merge) : 리모트 설정이 이미 되어있으 때
      업데이트 사항등을 다운로드 할 때 사용. 가져온 코드를 merge함 (가져온
      코드가 현재 로컬 소스 보다 최신 버전 일 경우)

      git init = git 프로젝트를 시작한다
      git remote add origin {{ url }} = url을 원격 리포지토리로 지정한다
      git pull origin master = 원격 리포지토리를 현재 master에 병합한다

    • git clone (pull + git remote add origin 해당 주소 ) : 초기 다운로드 사용 ( master 브랜치를 가져옴 ) 가져오는 프로젝트 폴더에 자동으로 remote설정, init설정이 되어있음.

참고자료
git 사용중 자주 만나는 이슈 : https://parksb.github.io/article/28.html
git stash : https://wit.nts-corp.com/2014/03/25/1153
git add, commit, push 취소 : https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
git flow : https://boxfoxs.tistory.com/347
git commitmessage : https://www.conventionalcommits.org/en/v1.0.0-beta.2/

profile
선명한 기억보다 흐릿한 메모

0개의 댓글