- 현재 경로 확인
- pwd
- 해당 폴더로 이동
- cd 폴더위치
- cd /c/Desktop/inflearn_git
- 화면 지우기
- clear
- 비어있는 화면 만들기
- touch
- touch a.txt
- 현 상태 확인
- git status
- 스테이지로 올리기
- git add 파일명
- git add a.txt
- 변경사항 있는 파일 모두 올리기
- git add .
- 버전만들기
- git commit -m “커밋메시지” -> 제목만
- git commit -m "first commit"
- git commit -> 내용까지 자세히 적고 싶을 때
- a or i + enter -> 하단에 INSERT 나와야 입력 가능
- 제목 쓰고 한칸 띄고 내용 적은 후 ESC
- :wq + enter 로 저장 후 나가기
- add & commit 한번에 하기
- git commit -am "커밋메시지"
- git commit -am "forth commit message header"
- 이전에 각각 add & commit 했던 파일만 가능 (처음부터 하려고 하면 안됨)
- 현재 git에 commit되어 있는 것 확인
- git log
- 한줄로 출력
- git log --oneline
- 짧은 commit hash 볼 수 있음
- commit 변경사항 확인
- git -p ( == git --patch )
- 그래프보기
- git log --graph
- 한줄로 보면서 그래프보기
- git --oneline --graph
- 한줄로 보면서 변경사항 보기
- git –oneline -p
- commit에 태그 달기
- git tag V0.0.1 commit hash복붙
- 긴커밋해시, 짧은 커밋해시 뭘 써도 상관 없음
- commit hash 안 넣으면 가장 최신 commit에 tag 달아짐
- 태그목록조회
- git tag ( == git tag --list 또는 git tag -l )
- 태그삭제
- git tag --delete 태그이름 ( == git tag -d 태그이름 )
- git tag --delete V0.0.3
- 최신 commit과 현재 작업디렉터리 비교
- git diff
- 최신 commit과 현재 stage 비교
- git diff --staged ( == git diff --cached )
- commit끼리 비교
- 최신커밋이 이전커밋과 뭐가 다른지 묻는 것이기 때문에 순서 잘 쓰기
- git diff 이전커밋해시 최신커밋해시
- git diff 67479a0 49abdb1
- git diff 67479a095a031ba044358d0389378952b7431ef0 49abdb1a96d2215a0c40a4f4c3c747d303c56812
- git revert 취소할 커밋해시
- reset
- git reset 되돌아갈 커밋해시
- 그냥 reset이라고하만 하면 mixed reset이 됨 (커밋 사실만 리셋)
- git reset --soft 되돌아갈 커밋해시
- git reset --mixed 되돌아갈 커밋해시
- git reset --hard 되돌아갈 커밋해시 (작업디렉터리에서 변경된 사실까지 리셋)
- 임시저장
- git stash
- 임시저장한 작업내역 조회
- git stash list
- 무엇을 임시저장했는지 제목과 함께 저장
- git stash -m ”내용”
- 해당스태시 임시저장항목 적용하기
- git stash apply
- git stash apply stash@{0}
- 임시저장항목삭제
- git stash drop 해당스태시
- git branch 현재 브랜치 보기
- git branch 만들브랜치이름 새로운 브랜치 만들기
- git checkout 브랜치이름 해당 브랜치로 이동하기
- git log는 해당 브랜치의 최신커밋만 보여줌
- git log --branches 전체 브랜치 커밋 다 보여줌
- git merge 합쳐질브랜치명
- master에 foo 합칠거면 master에 checkout
- git branch -d 삭제하고자하는브랜치명 브랜치삭제
- merge후 사용하지 않는 브랜치는 무조건 삭제
- git checkout -b 만들브랜치명 브랜치 만드는 것과 동시에 체크아웃하기
충돌시
- 파일 직접 들어가서 수정
- 수정 후 add -> commit
master의 2번째에서 foo가 뻗어나왔지만, foo생성 후 master가 5번째까지 생겼고 foo를 master의 다섯번째로 옮길 때 사용(베이스를 옮긴다)
- git rebase master
- foo에서 진행해야함 (foo로 체크아웃 후 해야함)
- git clone 복사한 ssh
- cd 들어갈폴더명
- cd ../ 현재폴더 나가기
- ls 폴더안 전체 파일보기
- ls -a 숨김폴더까지 보기
- mkdir 비어있는 폴더만들기
리포지토리 새로 만들면 이것으로 push
echo "# first-repo" >> README.md git init git add README.md git commit -m "commit message" git branch -M main git remote add origin ssh주소 git push -u origin main
master를 main으로 브랜치명 변경해야함
- git branch -M main 현재 브랜치 이름을 main으로 바꾸는 것
- git remote add origin 원격저장url 원격저장소 경로 추가
- git remote 추가후 잘 추가되었는지 확인
- git remote -v 추가한 경로까지 확인
- git push -u origin main 원격저장소에 밀어넣기
- -u는 나중에 또 푸시할 때 git push만 쳐도 가능하게 하는 것
- -u를 적으면 뒤에 origin main 안쳐도 되지만,
- -u를 안적었다면 git push origin main 다 쳐야 함
원격저장소랑 와따리 하려면 remote에 origin 꼭 추가
- git fetch origin main
- git checkout origin/main ( == git checkout FETCH_HEAD ) 후 git log
- 일단 가져온(fetch한) 파일보기
- git merge origin/main 으로 현재 로컬 main에 합치기
- git pull or git pull origin mine : 땡겨오기, 패치와 동시에 병합
fetch 일단 가져오기 / pull 가져와서 병합까지!