Git 명령어
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 "메세지" 커밋했던 메시지를 수정할 수있다.