Code Etc/Git

[Git] Git 명령어 총망라, 이제 나도 GitMaster! - CodeHan의 코딩공부

CoderHan 2022. 7. 12. 14:54
반응형

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, 그리고 협업하는 방법까지 제대로 알아서 좋았다.

 

깃은 지옥이라던데..모르던 세상에 발을 들였으니 나도 지옥행 열차를 끊은걸까?ㅋㅋㅋ하하

 

그래도 새로운걸 배우는건 항상 좋다

반응형