Branch && 협업

5548 단어 mainbranchgitbranch

Git & GitHub

README.md

  • repo의 사용자를 위한 문서

필수 기재 내용

#Project Name
Abstract your project in few lines. : 한 줄 설명이 가능해야 함
see [project sample pap].(project link)

##Documentation

###Installation

###More Information

###Contributing

###License

.gitignore

  • git이 파일을 추척 할 때, 어떤 파일이나 폴더 등을 추척하지 않도록 명시하기 위해 작성함
  • Gitignore
  • 자신에게 필요한 .gitignore 파일을 검색한 후, 복사 붙여넣기
$touch .gitignore : 숨겨진 파일로 생성
$ls -a : 숨겨진 파일까지 검색

LICENSE

MIT License

  • MIT 에서 만든 라이센스, 모든 행동에 제약이 없다
  • 관련된 책임에서 자유롭다

GNU General Public License v3.0

  • 가장 많이 알려져 있음
  • 의무사항이 존재
  • 비추천(사용할 때 조심해야한다.)

git 은 습관이 가장 중요

Branch

$git branch 이름 : 해당 이름을 가진 branch 생성
$git swith 이름 : 해당 이름을 가진 branch로 이동
$git branch : 현재 위치한 branch 확인
$git merge 이름 : merge 는 당기는 행위, 옮기고 싶은 branch로 먼저 이동 후, 당길  branch 명을 입력
$git branch -D 이름 : 사용이 끝난 branch 바로바로 삭제!
$git push -u origin 파일명 : local 의 branch 와 remote 의branch 가 같음을 이야기해줌 (-u)

Branching models

Git Flow

  • 가장 흔하게 사용하는 모델
  • (hotfix : 오류 발생, 긴급 패치) - main - (release : test, 프로덕션을 위한 작업 장소) - develop : 개발하>는 장소 - feature : develop 전 작업 하는 장소
  • 참고 사이트 git flow
$git flow init : flow 설치, 쭉쭉 엔터 누르고 develop 에 위치하면 OK!
충돌 발생?

Rename

$mv server.js main.js : 이름을 바꿀려고 했는데, 삭제로 인식됨. 사용 X
$git mv server.js main.js : 이름이 변경, 다시 commit 시 fix: ~~ 로 작성,
다른 사람들이 체크를 할라고 알려주는 것, 연결된 다른 기능 작동이 안될 수 있기 때문에!!

Undoing

$git restore 파일명 : 수정후 저장한 파일이, add 하기전에 실행시,
저장된 파일을 최신 상태의 commit으로 돌아감

Unstaging

$git reset HEAD {파일명} : add 한 파일을 취소함. HEAD = 최신

Edit latest commit

$git lg : 최신 commit 된 내용을 확인
$git commit --amend : commit 의 내용을 수정
  • 만약 lg시 안 보이면, git log 하세요
  • 근데 내용이 너무 많으면!!
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"
  • 이거 그대로 복사해서 해주면 되요~ !!

Reset Commit 비추천

-commit 을 삭제한 후, remote에 강제 push 됨
-삭제를 하였으나, 다른 cloned repo 에 존재하는 commit log 로 인해 파일이 다시 살아날 수 있음
-과거 이력이 사라져서 왜 오류가 생겨서 삭제한 이유를 알 수 없음
-잘못한 이력도 commit 으로 남겨서 수정한 이력을 남기자!!
-탕비실 주의 ...

Revert commit

-현재 HEAD 에서 원하는 만큼의 commit을 순서대로 거슬러 올라간 후 commit, push 수행

$git revert --no-commit HEAD~3.
  • no-commit 을 작성해서 모든 revert 가 끝나고 한번에 commmit 예정

  • HEAD~3. : 최신(HEAD)의 branch 에서순차적으로(.) 3개의 commit 을 거슬러 올라가요!!

  • 잘못하기 전 과거로 돌아가 최신을 유지하면서 되돌렸다는 이력을 commit 내용으로 남겨자!

    Version 뒤의 숫자 차이점

v0.1 ? 마이너 수정, 삭제, 추가 등 기능의 변화
v1.0 ? 메이저 완전히 전 버전에 비해 발전한 경우, 호환이 불가능한 경우
코딩 테스트 추천 사이트

좋은 웹페이지 즐겨찾기