**독자가 어느 정도의 command명령어를 사용할 줄 알 거나 리눅스를 다뤄본 적 있다는 가정하에 자주 사용되는 명령어만 간단하게 정리했습니다*
<기본적 Command 명령어>
git commit -a : add가 안된 파일을 add하고 commit한다.(단, 이전에 한번도 add하지 않은것들은 실행하지 않는다)
git commit -m : 입력창을 따로 들어가지 않아도 버전이 입력된다
예) git commit -m “version 1”
<branch?>
branch는 사용자가 작업는 중간에 다른 요청이 포함된 작업을 해야하고, 또 본인의 작업도 그대로 이어가야할때 나뭇가지처럼 각각 목적별로 작업을 나눌 수 있는 기능이다.
예를 들어 본인이 개발자일때 현재 고객의 주문으로 로그인 기능 구현과 UI 프로젝트를 진행하고 있다.
이때 갑자기 다른 고객이 똑같은 로그인 기능 구현 프로젝트에 추가로 DB생성까지 작업해달라했을때
우리는 로그인 기능 구현까지는 공통으로 작업할 수 있다.
그후 메인작업인 UI를 더한 프로젝트, 추가작업인 DB생성 프로젝트를 따로 나누어서 작업해야하기때문에
branch를 사용하는것이 두 프로젝트를 원활히 진행할 수 있다
오늘 수업은 원리보다는 명령어위주로 들었기때문에 정리또한 명령어위주로 했다
<branch만들기>
(1) git branch : branch 조회(기본은 master브랜치를 사용한다)
(2) git branch 브랜치이름 : 브랜치 생성
현재 속해있는 부모 브랜치의 상태를 그대로 가져오게된다
예시에서는 master브랜치의 정보를 그대로 가져와 first브랜치가 만들어졌다
(3) git checkout 브랜치이름 : 해당 브랜치로 이동한다
+)또는 git checkout -b 브랜치이름 : 브랜치를 만들고 바로 해당 브랜치로 이동한다
(4) git branch -d 브랜치 : 브랜치를 삭제한다
<정보확인>
(1) git log --branches --decorate --graph --oneline : 버전을 각 브랜치별로 보여준다
(branches-모든 브랜치를 나타냄)
(decorate-버전옆에 브랜치를 표시해줌)
(graph-보기편하게 그래프로 나타내줌)
(oneline-그래프의 라인을 하나로 나타냄)
(2) git log branchA..branchB : 두 브랜치의 차이를 보여준다 //(의미)branchA에는 없고 branchB에는 있는것은..?
+) -p : 소스코드의 차이까지 세세하게 보여줌
(3) git diff master..exp : 각각의 브랜치의 현재 상태를 비교한다(-p와 비슷하지만 더 세세하게 나타내준다)
<병합>
생성된 브랜치의 값을 master도 갖게하는법..!
(1) git merge 브랜치1(mater에서..) : 브랜치1을 master로 가져온다
(2) git merge master(브랜치1에서..) : master를 브랜치1로 가져온다
<stash>
git stash (save) : 급하게 작업을 중지해야할때, 작업중인 내용을 어딘가에 숨겨놓을 수 있다.
현재브랜치를 깔끔하게해서 다른 브랜치로 checkout 할 수 있다
따라서 이후에 git status를 하면 아무것도 나오지 않는다.
git stash apply : 다시 작업을 불러온다 //stash를 했던 브랜치에서 해야한다
+)list에 제일위에있는 stash를 적용한다
+)git stash drop : 최신 stash를 삭제(01234로 갈 수록 최신임)
git stash list : git stash list에 남아있으면 다시 계속 불러올 수 있다는 특징이 있다.
사진은 git stash list를 했을때 나오는 창이다.
stash@{번호}에 적혀있는 번호가 클수록 최신이다.
//따라서 git reset --hard로 버전을 지워도 불러올 수 있다
git stash pop : apply와 drop을 같이 한다.
최신 stash를 drop하고 apply한다는 뜻이다.
'기초 > Git' 카테고리의 다른 글
[5일차]동기화 (0) | 2021.09.04 |
---|---|
[4일차]지역저장소,원격저장소 (0) | 2021.09.03 |
[2일차]Git의 원리 (0) | 2021.09.01 |
[1일차]버전관리의 본질 (0) | 2021.08.31 |
수업소개 (0) | 2021.08.31 |