티스토리 뷰

깃(Git) & 도커(Docker)

6. Git - branch

Sims. 2022. 9. 9. 21:28

다수의 개발자들이 동일한 소스코드를 공유하고 다루게 되는 상황이 발생하는데, 같은 코드에서 버그수정/ 기능추가 등등...

각자 맡은 업무을 수행하게 된다.

그러다 보면 동일한 소스 기반으로 여러 버전의 소스코드가 만들어 질 수 밖에없다.

4

이런식으로 A코드를 이용하여 3명의 다른 개발자가 3개의 서로 다른 코드를 만들어내게 된다.

 

그럼, 서로다른 독립적인 작업 영역에서 진행을 해야 진행하는데 충돌이 나지 않을 것이다.( 작업 영역이 같다면.. 동시에 A,B개발자가 같은 소스코드로 작업중인데, A 개발자가 수정 후 저장하고, B 개발자가 수정 후 저장한다면.. A개발자의 작업은 다 날라가게됨)

 

이런 환경을 만들어 주는것이 branch이다. 분리된 작업 영역에서 작업을 한 후 나중에 한번에 합치게 된다.

 

그럼 branch를 만들고 test해보자

지금은 main branch 하나가 존재하고 폴더에는 5개의 파일이 있다.

 

단순하게 git branch {branch명} 을 통해 브랜치를 만들 수 있다.

 

그럼 만들어 놓은 브랜치로 가보자!

checkout 명령어를 통해 할 수 있다.

이처럼 branch를 바꾼 것을 확인 할 수 있다.

 

그 후 commit을 한번 해보자.

그러면 조금 특이한 log를 볼 수 있다. main 브랜치는 test7 까지만 되어있고, branch1 은 현재 commit한 내용까지 들어가 있는 것을 확인 할 수 있다.

 

그리고 다시 main 브랜치로 돌아가 보면..... test10파일이 없는 것을 볼 수 있었다!!!

즉, main 과 branch1은 서로 다른 작업 공간이라는 것을 볼 수 있다. 추가로... 폴더에서도 그러한 현상을 볼 수 있다.

위에가 main / 밑에가 branch1 인데, test10파일이 branch1에만 존재하는 것을 볼 수 있다.. 신기함..

폴더를 켜놓고 콘솔로 checkout을 해보면 변하는 모습을 볼 수 있다..

 

branch는 {파일}/.git/refs/heads에 들어가보면 볼 수 있다.

막상 들어가보면 한줄 숫자가 적혀 있는 것을 볼 수 있는데..

.git/objects에 들어가보면 위 숫자 앞 2자리에 해당하는 파일에 들어가 보면 하나의 파일이 있는데,

아마 이 파일이 해당 브랜치를 기억? 해놓는 것 아닐까?

들어가보면 이런식으로 적혀있다...!

'깃(Git) & 도커(Docker)' 카테고리의 다른 글

1. 도커 설치( ubuntu)  (0) 2022.09.10
0. Docker(도커)  (0) 2022.09.10
5. Git - push 하기  (0) 2022.09.09
4. Git - commit 하기  (0) 2022.09.09
3. Git 저장소 만들기/ test  (1) 2022.09.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함