일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- AnoGAN
- AWS
- unsupervised learning
- bash 명령어
- anomaly detection
- linux
- ubuntu mount
- 쏴아리 딥러닝
- ubuntu
- ubuntu pipe
- ubuntu 명령어
- F-AnoGAN
- autoencoder
- CycleGAN
- ubuntu zsh
- pix2pix
- AWS Certificate
- aws rds
- git commit
- EC2
- ubuntu grep
- bash vs zsh
- AWS EC2
- git log
- Image to image translation
- 말해보시개 딥러닝
- 말해보시개 Linux
- docker
- gan
- DCGAN
- Today
- Total
쏴아리의 딥러닝 스터디
git branch, checkout, merge 본문
git branch, checkout, merge
git branch
git branch는 독립적으로 작업을 진행하기 위한 개념으로, 각 branch는 다른 brach와 관련 없이 작업을 진행합니다.
보통 master, develop, topic branch를 생성하여 형상관리를 합니다.
- main branch : 배포용 안정적인 Branch
- topic branch: 기능 추가 같은 단위 작업을 위한 Branch
1. branch 생성 방법
$git branch <new branch>
위의 명령어로 branch를 생성할 수 있습니다.
2. 현재 Branch 확인 방법
$git branch
위의 명령어로 현재 branch를 확인할 수 있습니다 .
예제) topic_branch 생성하기
git branch 명령어를 통해 topic_branch를 생성합니다 .
$git branch topic_branch
현재 branch를 확인하겠습니다.
$git branch
현재 master branch에 있고, topic_branch가 생성되었음을 확인하였습니다.
git checkout: branch, snapshop 전환
1. branch 전환
git checkout 명령어는 branch를 전환하는데 사용됩니다.
$git checkout <브랜치 명>
예제) topic_branch로 checkout
git checkout 명령어를 통해 topic_branch로 이동한 후, git branch 명령어를 통해 현재 branch로 확인합니다.
$git checkout topic_branch
$git branch
Switched to branch 'topic_branch' 메시지를 통해 checkout 되었음을 확인합니다.
git branch 명령어를 통해서 topic_branch로 현재 branch를 다시 확인합니다.
2. snapshop 전환
git checkout 명령어는 branch를 전환하는데 사용되며, git log로 확인한 snapshot으로 전환하는데도 사용이 가능합니다.
$git checkout <snapshot hash>
예제) git checkout을 통해 "commit2" snapshoit으로 전환하기
1. deepmal2.txt 파일을 생성한 뒤, commit 수행(commit 메시지: "commit2")
ubuntu에서 touch 명령어를 통해 deepmal2.txt 파일을 생성합니다.
git add 명령어를 통해 deepmal2.txt를 staging area로 보냅니다.
git status 명령어를 통해 deepmal2.txt가 staging area에 있는지 확인합니다.
$touch deepmal2.txt
$git add deepmal2.txt
$git status
git commit을 수행하여 staging area에 있는 deepmal2.txt를 repository로 보냅니다.(commit 메시지: "commit2")
ls 명령어를 통해 현재 디렉토리에 deepmal2.txt가 있음을 확인합니다.
$git commit -m "commit2"
$ls
2. deepmal3.txt 파일을 생성한 뒤, commit 수행(commit 메시지: "commit3")ubuntu에서 touch 명령어를 통해 deepmal3.txt 파일을 생성합니다.
git add 명령어를 통해 deepmal3.txt를 staging area로 보냅니다.
git status 명령어를 통해 deepmal3.txt가 staging area에 있는지 확인합니다.
$touch deepmal3.txt
$git add deepmal3.txt
$git status
git commit을 수행하여 staging area에 있는 deepmal3.txt를 repository로 보냅니다.(commit 메시지: "commit3")
$git commit -m "commit3"
ls 명령어를 통해 현재 디렉토리에 deepmal2.txt, deepmal3.txt가 있음을 확인합니다.
$ls
3. commit2로 snapshot을 checkout
git log 명령어를 통해 snapshop들을 확인합니다.
$git log --pretty=oneline
현재 commit3 snapshot에 위치합니다.
git checkout 명령어를 통해 commit2 메시지의 snapshot으로 이동합니다.
$git checkout <commit2 메시지 snapshot>
HEAD is now at commit2 메시지를 통해, commit2 메시지의 snapshot으로 이동하였음을 확인합니다 .
git log를 통해 현재 snapshot이 commit2에 위치하고 있음을 확인 한 뒤, ls 명령어를 통해 commit2 snapshot에 있어야할 deepmal2.txt 파일이 현재 디렉토리에 있음을 확인합니다.
$git log --pretty=oneline
$ls
git merge
git merge는 branch를 병합하는 명령어입니다.
예제) topic_branch에서의 작업을 마치고, master branch로 통합합니다.
1. master branch로 이동하여 topic_brach를 병합합니다.
git checkout 으로 master branch로 이동한 뒤, git merge 명령어를 통해 topic_branch와 merge 합니다.
$git checkout master
$git merge topic_branch
git log 명령어를 통해 master와 topic_branch가 병합되고 commit3 메시지의 현재 snapshot에 위치하고 있음을 확인합니다.
ls명령어를 통해 commit3의 repository에 존재해야할 deepmal2.txt, deepmal3.txt이 정상적으로 있음을 확인합니다.
$git log --pretty=oneline
$ls
같이 보시면 좋아요.
포스팅 내용이 도움이 되었나요? 공감과 댓글은 큰 힘이 됩니다!
'Git' 카테고리의 다른 글
git add, git status, git commit, git log (0) | 2021.05.14 |
---|---|
Ubuntu Git 설치, 초기설정 방법 (0) | 2021.05.12 |