깃허브를 사용은 해봤지만 터미널로 사용해 본 적이 없어서 아주 아주 좌절했다.
(소스트리를 사용은 했지만 브랜치 사용 경험 X, 그때도 풀, 커밋, 푸시가 전부였다.)
요새는 터미널을 사용해 그럭저럭 풀, 커밋, 푸시는 하고 있으나 아직도 모르는 것들이 한가득이다.
언제나처럼 아는 것 + 모르는 것 찬찬히 정리해 나갈 예정이다.
1. 클론
mkdir 폴더명
cd 폴더명
git clone HTTPS키 or SSH키
-
mkdir은 make directory라는 뜻으로 폴더를 만드는 명령어다.
-
cd는 change directory라는 뜻으로 해당 폴더 속으로 들어가게 된다.
-
원하는 폴더를 만들고, 해당 폴더 안에 들어갔으면 git clone 명령어를 사용하여 해당 폴더와 git을 연결해주면 된다.
-
git clone 뒤에 HTTPS키나 SSH키를 붙여넣기 해주면 된다.
-
2. 브랜치
git branch
git branch 브랜치명
git checkout 브랜치명
git branch -d 브랜치명
-
git branch 명령어로 해당 레파지토리의 브랜치 리스트를 볼 수 있다.
-
현재 접속하고 있는 브랜치는 다른 색으로 나타난다.
-
-
git branch 뒤에 브랜치명을 쓰면 브랜치를 생성할 수 있다.
-
해당 브랜치로 이동하고 싶을 때는 git checkout 명령어를 사용한다.
-
git branch -d 명령어를 사용하여 원하는 브랜치를 삭제할 수 있다.
-
삭제 후 git branch 명령어를 사용해 해당 브랜치가 삭제되었는지 확인한다.
-
3. 수정된 파일 확인하기
git status
git diff
-
파일을 커밋, 푸시 하기 전에 해당 폴더에 무슨 변경 사항이 있었는지 다시 한번 체크하는 것은 중요하다.
-
git status 명령어는 어떤 파일이 변경되었는지 보여준다.
-
git diff는 더 자세하게, 파일별 어떤 코드들이 추가되고 삭제되었는지 보여준다.
-
모든 코드를 확인하고 돌아가고 싶을 때 :wq로 돌아가준다.
-
4. 커밋
git add 파일명
git add -p
git add .
git commit
git commit -m "커밋 메시지"
-
git add 뒤에 파일명을 붙이면 해당 파일만 커밋에 들어가게 된다.
-
git add -p는 변경된 파일들을 살펴보며 커밋 대상에 포함시킬지 아닐지 선택할 수 있다.
-
y를 입력해 포함할 수 있다.
-
n을 입력해 포함하지 않을 수 있다.
-
-
git add . 는 모든 수정된 파일이 커밋에 들어가게 된다.
-
git commit을 쓰고 엔터를 누르면 커밋 메시지를 쓸 수 있게 되는데 i를 누른 뒤 메시지를 입력하고, ESC 후 :wq를 이용하여 나온다.
-
git commit -m "커밋 메시지" 명령으로 커밋 메시지를 간단하게 쓸 수 있다.
-
-m는 한 문단을 뜻하므로 -m를 두 번 쓴다면 두 개의 문단으로 커밋 메시지가 나타나게 된다.
-
5. 푸시
git push
-
처음 master 브랜치가 아닌 다른 브랜치에서 push를 할 때 어떤 명령어를 입력하라는 설명이 친절히 나와있다. (뭐라고 써져있었는지는 기억이 잘..... upstream 어쩌구 였던 것 같다. 나중에 수정 예정)
-
복사 붙여넣기 하면 master 브랜치로 푸시 된다.
-
6. 작업 중 브랜치 변경이 필요할 때
git stash
git stash list
git stash apply 리스트 이름
-
git stash 명령어를 입력해 변경 내용을 저장할 수 있다.
-
다시 해당 내용으로 돌아가고 싶을 때 git stash list 명령어로 리스트 이름을 확인한다.
-
git stash apply 리스트 이름 명령어를 사용하면 해당 상태로 돌아간다.
정말 도움을 많이 받은 사이트이다.
검색도 할 수 있고, 카테고리가 세세하게 잘 나와있어서 아주 좋았다.
'TIL' 카테고리의 다른 글
use strict란? 왜 쓰는거야? (2) | 2023.01.04 |
---|---|
Serverless 개발 환경 셋팅하기 + iterm command not found error (0) | 2023.01.04 |
[AWS] CodeCommit 터미널 사용하여 git clone 하기 (0) | 2021.03.02 |
[Node.js] Node.js란? (0) | 2021.03.01 |
[Spring] Session ArrayList 배열 추가하기 (0) | 2021.02.28 |