✅ .gitignore
✅ Licence
✅ Repository
✅ Branch merge
✅ GitFlow
✅ GitRevert
🚀 라이센스의 종류
- MIT License : 가장 대중적으로 사용함.
- Apache License 2.0 : 어파치 재단에서 만들었고, 특허권 관련 내용이 포함되어있음.
- GNU General Public License v3.0 : 가장 많이 알려져있지만, 가장 조심해야함.GNU license가 적용된 소스코드 사용시 무조건 GPL을 따라야하는 의무사항이 존재함. 그래서 이를 위반하면 내용증명 등이 날라올수도 있음.
- 왠만하면 라이센스는 MIT lice 를 사용할 것.
🚀 gitignore 사용예시
- keyfile.pem : keyfile로 해킹당해 비트코인 채굴하는데 도용당할수있음
- secrets.*
- *.java
🚀 ignore.io 사이트
- ignore.io 사이트에 들어가서 사용언어를 클릭하면 해당되는 .gitignore 항목들이 나옴
- vi .gitignore에 들어가서 항목들 복붙하면 됨
git branch 브랜치명
git switch 브랜치명
git branch -a
git branch -D 브랜치명
touch 파일명
mv 파일명 변경명
cat 파일명
🚀 해설
git branch 브랜치명 : 새로운 브랜치 만들기
git switch 브랜치명 : 브랜치 갈아타기
git branch -a : 모든 브랜치 보기
git branch -D 브랜치명 : 브랜치 삭제
touch 파일명 : 파일 만들기
mv 파일명 변경명 : 파일 이름 바꾸기
cat 파일명 : 파일 미리보기
🚀 브랜치 머지 시 충돌이 났을 경우
- 다음과 같이 머지 충돌이 났을 경우에는 충돌이 난 파일에 가서 해결을 해주면 됨.
- 위에서 hello.py에 vim으로 들어가서 해당 파일을 수정하면 됨.
- 머지 충돌 해결 후 git status를 보면 unmerged path가 보임
- 이는 add hello.py로 커밋을 추가한 뒤에 status를 확인하면 해결
- 이 상태에서 커밋을 하면 에러가 안 뜸
🚀 주의!
- 여기서 머지할 때 메인 브랜치에서만 머지를 했기 때문에 깃헙(리모트)는 메인 브랜치만 수정이 되어 무엇을 머지했는지는 보이지 않음
- 만약, 리모트에 해당 정보를 남기고 싶으면 머지한 브랜치(repeat-hello)도 푸시를 해줘야함.
git push -u origin 브랜치명
- 원래는 머지의 흔적이 없었으나, 이제는 머지한 브랜치가 명시 되었음.
- -u는 리모트에 없는 브랜치를 만들건데, 로컬과 동일하니까 반영해달라는 의미
🚀 GitFlow strategy
mv 브랜치명 변경명 (deleted, new file)
git mv 브랜치명 변경명 (renamed)
🚀 해설
- mv로 이름을 변경했을 때는 파일이 삭제되고, 새롭게 생성되는 것으로 기록됨
- 이를 예방하기 위해서 git mv를 이용하여 renamed 하는 것이 좋음
git restore 브랜치명
git reset HEAD 브랜치명
🚀 해설