카테고리 없음

Git 명령어

Cuoong 2025. 3. 3. 20:39

git init

git add "file"

git commit -m "message"

           "add"               "commit"

작업폴더->staging area->repository(저장소)

 

git status : staging 했던 파일들을 표기해서 알려줌

git log --all --oneline 작업했던 내역들을 알려줌

 

git diff  : 최근 commit vs 현재파일 차이점 보여줌. 

git difftool 파일 비교

git difftool 커밋아이디

git difftool 커밋아이디1 커밋아이디2 (커밋아이디는 git log --all --oneline에서 나오는 노란색 숫자기호)

--> extension 설치해서 진행하면 더 좋은 것들이 많이 있음. 예를 들어서 git graph

 

git branch 브랜치명 : 브랜치(복사본) 생성 

git switch 브랜치명 : 브랜치로 이동 (checkout)

git merge 브랜치명 : 기준이 되는 브랜치로 이동 후 병합 (conflict 인 경우에는 코드 수정 후 다시 커밋)

 

원격 저장소 (GitHub, GitLab, Bitbucket)

git remote add origin http://github~~~  : origin 이라는 원격 저장소를 추가

git clone http://~~ : 원격 저장소를 복제하여 저장소를 생성 

 

git push origin main : main브랜치의 변경사항을 origin 원격 저장소로 푸시

git pull origin main : main브랜치의 최신 내용을 origin원격 저장소에서 가져와 로컬 저장소와 병합(로컬작업을 최신상태로 유지가 목적)

-> git fetch: 원격 저장소의 변경사항을 가져옵니다

-> git merge : 가져온 변경 사항을 로컬 브랜치에 병합합니다

-> 두 과정이 결합된 형태가 git pull 입니다 

#pull과 pull request는 뜻이 다르더라....

 

Fork and Pull Request 워크플로우

1.Fork : 협업자가 원본저장소를 자신의 GitHub 계정으로 포크합니다. 

2.Clone: 포크한 저장소를 로컬로 클론합니다

3.Branch: 새로운 기능이나 버그 수정을 위해서 브랜치를 생성합니다.

4.Commit: 변경사항을 커밋합니다.

5.Push: 변경사항을 포크된 원격 저장소로 푸시합니다. 

6.Pull Request: 원본 저장소로 변경 사항을 병합해 달라는 요청을 보냅니다. (수동병합, 관리자 승인 필요)

 

취소하는 과정

 

git reset  : staging area에 올라간 파일들을 untracked file 상태로 바꿀수 있다

git commit --amend -m "메세지" 커밋했던 메시지를 수정할 수있다.