[Git] Git 명령어 총망라, 이제 나도 GitMaster! - CodeHan의 코딩공부
Git
버전관리
git init . <<버전관리의 시작을 알리는 명령이다.
Repository : 파일 저장소
working tree : 작업하고 있는 File
Staging Area : 버전을 만드려 하는 File
git status : 현재 작업 상태를 출력한다
git add (file) : file을 staging Area에 올라간다.
git add . : 현재 Dir에 있는 파일 전부 add된다.
git commit -m "Msg": 버전을 생성한다.
commit -am : add와 commit이 같이 된다.
git log : git의 버전을 보여준다
git log --state : 해당 version에 관련된 정보를 보여준다.
git diff : 파일의 수정사항을 보여준다.
git reset --hard : 작업한 내용이 사라진다.
git log -p : 버전간 차이점 내용을 보여준다.
git checkout (commitID) : commitID의 시점으로 파일이 복귀한다.
git checkout master : 가장 최신 version으로 복귀한다.
git reset --hard (commitID) : commitID Verson으로 reset한다.(Master가 변경된다) //branch를 바꾼다.
git revert commitID : commitID의 이전 version으로 회귀하지만 기존 version은 삭제되지 않는다. //revert는 역순으로 차근차근 접근해야 충돌이 발생하지 않는다.
git remote add (repo별명) https://xxx.xx.xxxx : 원격 저장소와 로컬 저장소를 연결시킨다.
git push : 원격 저장소에 파일을 업로드한다.
git clone https://xx.xxx.xx. : 원격 저장소와 같은 환경을 구축한다.
git pull : 원격 저장소로부터 동기화한다.
Branch
git branch : branch의 목록을 보여준다
git branch (branch name) : name에 해당하는 branch를 생성한다.
git checkout (branch name) : 해당 branch version으로 돌아간다. >> Head의 값을 바꾼다.
git merge (target branch) : Head branch에서 target Branch에 있는 내용을 당겨와 새로운 ver을 만든다.
conflict
conflict가 발생하면 >>>> ==== <<<<로 같은 위치에서 수정이 일어난 내용을 보여준다.
이는 사용자가 원하는 대로 수정 후에 add하고 commit하면 conflict를 해결할 수 있다.
fetch
git fetch는 내 로컬 repository에 version이 원격 repository와 비교했을 때 master와 어떤 관계인지 보여준다.
git merge는 pull과 비슷하며 원격repository와 업데이트를 한다.
patch (commit Id)
repository에 권한이 없는 사용자가 repository master에게 내가 작업한 내용을 전달할 수 있다.
git am -3(3way mergi) -i(interactive) *.patch : 모든 패치파일을 적용한다.
pull request
clone : 같은 저장소에서 작업한다.
fork : 저장소를 복제해서 내 저장소로 옮겨온다.
Compare : base repository와 차이를 비교해준다.
create pull request : 내 작업물을 base repository owner에게 내 작업물을 가져가달라고 요청한다.
merge pull request : requset요청한 내용을 내 작업물에 merge한다.
----------------
생활코딩님 유튜브 51편을 보면서 열심히 정리했다..
커밋의 중요성과 push, pull, 그리고 협업하는 방법까지 제대로 알아서 좋았다.
깃은 지옥이라던데..모르던 세상에 발을 들였으니 나도 지옥행 열차를 끊은걸까?ㅋㅋㅋ하하
그래도 새로운걸 배우는건 항상 좋다