2023. 2. 12. 21:28ㆍGit & Github
Step1 . 깃허브에서 소스코드 옳겨오기 / [프로젝트 명]으로 된 디렉토리에 저장하여 관리
$ git clone <원격저장소주소> --> $ git clone https://github.com/[계정명]/[프로젝트명].git |
협업을 위해서는 원격 저장소에서 로컬 저장소로 가져와야함 . 이를 위해 깃 클론이라는 명령어를 사용
zip파일로 받아서 사용하지 않고 깃 클론을 굳이 사용하는 이유는 클론을 통해 소스코드를 옯겨와야만, .git(커밋 이력이나 설정 등)이 함께 옮겨지낟. 따라서 그냥 파일을 다운로드 하면 소스코드만 받고 다시 깃허브에 등록을 할 수 없는 상태가 되는거다.
<실습>
원하는 위치로 이동하고 터미널에서 깃클론을 진행한다.
그리고 확인해 주니 Practice(프로젝트명) 폴더안에 파일이 옮겨졌다. 근데 왜 gitignore은 없는거즤....? 뭐가 잘못된건지 차차 알아봐야 겠다......ㅠ
Step2. 다른 브랜치에서 작업하기
$ git checkout -b <브랜치명> $ git checkout <브랜치명> |
Working Directory가 Main이 아닌 다른 브랜치를 바라보게 된다.
-b 라는 옵션을 사용하게 되면 신규 브랜치를 만들면서 바로 그 브랜치로 이동할 수 있게 한다.
git Commit으로 로컬 저장까지 완료하면 이제 메인에 반영해 주어야 하는데, 그전에 git checkout main을 해주어 working Directory가 다시 main을 바라보게 해야한다.
Step 3. main 함수에 feature 브랜치 병함하기
$ git merge <브랜치명> |
<merge conflict>
* main에도 commit이 존재하고, feature 에도 commit이 존재할 때,병합할 때 서로 다른 브랜치의 같은 곳에 위치한 코드가 다르다면?
정상적 병합이 이루어지지 않고 실패함 _ conflict 발생
<실습>
1) feature1 형성 및 커밋
feature1 브랜치 생성과 동시에 브랜치 위치를 변경했다.
그리고 feature1 브랜치에서 2번째 줄을 수정한 후 커밋해 주었다. 이제 feature1 에 커밋이 형성됐따.
2) main 커밋 형성
main 브랜치로 다시 이동 한 후, 2번째 줄 수정(feature1과 같은 줄, 다른 내용) 후 커밋
3) 브랜치 병합
conflict 발생
둘중 하나를 선택하라고 제시함.
안녕하슈~ 선택 후 저장 , 다시 커밋 진행, 병합.
+ git push 진행
수정됨
'Git & Github' 카테고리의 다른 글
[Git & Github] Github에 소스 반영 (0) | 2023.02.12 |
---|---|
[Git & Github] Git 실습 _ 로컬 깃 저장소 생성 (0) | 2023.02.12 |
[Git & Github] Git의 구조 _ 4가지 (0) | 2023.02.12 |