며칠전 학교 특강으로 깃 동작원리에 대해 설명해주는 것을 듣고 내용 요약 및 정리를 해보았다.
자신의 history를 남기는 것도 중요하지만 깃을 사용하는 이유는 협업하기 위해 익혀야한다는 말을 새겨 들으며..~~
CLI(command line inter): 명령어 기반 인터페이스
세부기능활용, 자동화(스크립트)
GUI: 그래픽 유저 인터페이스
세부기능활용어렵다, 자동화 어렵다.
pwd : 현재 폴더경로 출력
ls : 현재 폴더내부 존재하는 파일들 출력
cd : 현재 폴더경로 변경 상위폴더로 이동 : cd ..
mv : 파일명 변경 /mv 원래꺼 바꿀꺼
rm : 파일삭제 폴더 삭제 : rm –r 폴더명
touch : 빈파일 생성 /touch 빈파일명.확장자
clear : 터미널 화면 정리
같은 폴더인데 다른 세상
<명령어>
순서
1. 새로운 브랜치 생성
2. author 이름으로 파일 열기 : author이름 파일이름.확장자
3. 파일 내용 수정하고 나서
ctrl o->enter-> ctrl x
4. git status, git diff
로 수정됐나 확인
5. add로 확인하고 추가하기 : git add 파일
6. commit 하기 : git commit –m “ ”
내가 작성한 commit 확인하기 : git show
후에 git log --oneline -l
commit 정보 삭제하기 : git reset --hard HEAD~1
(1은 가장위에서 첫 번째 내용 삭제한다는 의미)
자신이 설정했던 config 확인 : git config –l
지금까지 commit 수 확인 명령어 : git log --oneline | wc
git push origin branch이름
매번 커밋할 수도 없고 임시로 수정하고 다시 원상복구 하고 싶을 수도 있잖아! 그때 사용하자!
수정파일 확인 : git status
내용 잠시 저장하기 :git stash
(add는 됐는데 commit 하기는 애매해 잠시 keeping 해두는 것, 근데 status에는 안뜬다.)
잠시 저장해둔 내용 복구(불러오기): git stash pop
복구된 수정한 파일 다시 확인하기 git status
수정 내용 완전히 삭제하기 : git checkout -- 파일.확장명
(띄어쓰기 잘해야한다......!)
최신역사 기준으로 파일내용 원상복구 후 내용 확인: git diff
add 취소 : git reset
라이센스 서명 넣어서 commit message 적기(라이센스이해했고 동의하고 한 것이 맞다 서명하는 것)
add까지 한 상태에서, git commit –s –m “”
commit 궁금할 때 확인해보기! : git show
순서
git log --oneline -1
git add
하고.git commit --amend
(가장 위에있는 것만 수정할 수 있다.)git log --oneline -1
git remote add upstream fork한 http
git remote remove upstream
공식 upstream 저장소에서 최신 commit history가져오기 : git fetch upstream master
최신 commit history 기준으로 베이스 갱신하기 : git rebase upstream/master
fork한 저장소(github)도 수정하기 : git push --force origin branch이름
순서
<soft/hard의 차이>
git reset --soft HEAD~1 : commit은 없는데 변경본은 살아있다파일은 남아
git reset --hard HEAD~1 : 내용도 삭제
순서
1. git log --oneline
2. git rebase –i --root -->고치고 나간다. 세 개의 커밋 중 최근꺼부터 합치려면 위에서 세 번째에 edit을 해야한다.
3. git reset --soft Head~2 -->최근에 두 개를 파일은 남기고 커밋만 지우는 방법
4. 커밋 메시지 수정하기 : git commit --amend
5. 되감은 내용풀기: git rebase --continue
6. 수정결과 확인 : git log --oneline
간단하게-->두 번째로 오래된 commit 이후에 새로운 커밋 세 개 넣으려면 두 번째에다가 edit 걸어줘야한다. **
최근 commit 두 개 먼저 합치고 나머지 하나 합치려면??
최근꺼(3)에 edit를 해야한다. 그럼 2커밋에 3이 흡수된다.
합친 것에 되감기 걸어서 edit 해주고 git reset --soft Head~1 해주고 아직 add 되어있는 상태니까 git reset 으로 add 풀어주고 파일은 있으니까 touch 안해도 되고 다시 git add, commit 순으로 파일 넣어준다.(3개의 파일 전부!) 그 후 되감은 continue로 내용풀면 끝!
commit 나오기 전 과거로 되돌려보기
git reset —hard 1a126ed11c(: 예시코드이다.)~1
다시 돌아오기 : git reset --hard origin/master
카테고리-어느파트에서 만들었는지 [test], ooo:fix b problem 이런식으로!
첫단어
fix : 잘못된 것 고친 것
improve : 개선한 것
add : 없던기능/옵션 추가할 때(함수, 클래스 등 무엇을 추가한 것은 코드보면 알 수 있다. why를 적는 것이 더 중요)
support : 원도우에서만 되는 것을 리눅스에서 되게 한다던가!
remove, refactor 등이 있다.
설명 한줄 --> 요약해서 이유가 들어나게 적는다.
why(80%), how: 어ᄄᅠᇂ게 구현했는지, 방법(20%)
when ~, the b error can occur
the reason is that~, so fix it.
현재는 깃을 얼마나 능숙하게 활용하실지..기대되는 정리글이네요!