일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 기존 앱
- DataBinding
- oberve url
- swift
- UIViewControllerTransitioningDelegate
- 개발자 면접
- ViewBuilder
- scrolling tab
- notifychanged
- GeometryReader
- UIPresentationController
- url 추적
- base64 변환
- 상단 탭바
- DevelopmentRegion
- transformation.map
- List
- pod install
- Side Menu
- Swift Package Manager
- SwiftUI
- Android
- url 관찰
- 스크롤 탭
- swift #swift keychain #keychain 사용법
- convert base64
- Tuist
- ios
- development language
- detect url
- Today
- Total
버그 잡이
[코드스쿼드 git 입문 강의 요약] git 기초 개념 본문
최근 시작한 스터디가 있는데 거기서 사전 과제로 내준 것이 pull request를 하는 것이었다.
pull request를 하면서 생각보다 삽질을 많이 하였고 git에 대해서 공부할 필요성을 느꼈다.
그러던 중 우연히 찾은 강의가 코드스쿼드 채널에서 올린 git 입문 강의이다.
*[유튜브]코드 스쿼드 Git 입문 강의
https://www.youtube.com/watch?v=sB-wnaI-e2k&list=PLAHa1zfLtLiPrxoBo9a1HVmauvE2Mn3xX&index=11
복습 차원에서 영상 내용을 정리해보고자 한다.
기본 용어 정리
clone
- 원격 저장소를 복사한다.
- 이를 통해 내 pc로 해당 내용을 가져와 작업할 수 있다.
add
- 커밋하기 전에 저장을 원하는 파일들을 묵는 과정
- 스테이지에 파일을 올리는 과정이다.
commit
- 게임의 save와 같은 개념.
- 스테이지 영역의 파일들을 가지고 커밋을 만든다.
push
- 원격 저장소에 커밋을 업로드한다.
파일 되돌리기(커밋 이전 상태로)
- 되돌리고 싶은 파일 선택 후 '코드뭉치 버리기' 선택
- (CLI에서는) git checkout [파일 이름]
브랜치 변경하기
브랜치란
- 기존 내용을 유지한 채 새로운 내용을 추가하고 싶을 때 사용한다.
- 그리고 보통 작업용 브랜치를 만들어서 작업 후 master에 merge하는 식으로 작업한다.
- 어떤 작업을 되돌리고 싶을때도 유용하게 사용할 수 있다.
사용법
- 원하는 커밋 우클릭 -> 브랜치 생성
- 소스트리에서는 브랜치 이름을 더블 클릭하는 것만으로 체크아웃(브랜치 변경)이 가능하다.
Merge(병합하기)
브랜치에서 작업한 내용을 원하는 브랜치(or Master)로 합치는 과정
#병합1. 하나의 새로운 가지(브랜치)만 작업이 진행된 경우(fast-forward merge)
- 헤드 브랜치에 변경사항이 없고 병합 대상 브랜치가 헤드로부터 시작된 경우
-> 충돌 없이 병합이 잘 진행된다
#병합2. 여러 개 가지(브랜치)가 동시에 진행된 경우
- 헤드 브랜치에 추가적인 커밋이 생기는 경우
- 충돌 가능성이 높다.
* 충돌은 같은 파일을 서로 다르게 수정했을때 일어날 가능성이 높다.
* 서로 다른 브랜치가 서로 다른 파일을 작업했을때는 충돌이 일어나지 않는다.
충돌 해결하기
1. 직접 수정
- 에디터를 사용하여 내가 원하는 코드로 수정 해준 후 커밋
2. 소스트리 기능 활용
- 충돌이 일어난 파일을 우클릭 -> 내 것 or 저장소 것으로 변경 -> 원하는 것으로 선택 후 커밋
* 내 것 : 현재 브랜치 / * 저장소 것 : 병합하려는 브랜치
되돌리기
총 세가지 방법이 있다. reset / branch 활용 / revert
1. reset
- 돌아가기를 원하는 commit 우클릭 -> '이 커밋까지 현재 브랜치를 초기화'
*장점 : 쉽다.
*단점 : 위험하다(push하지 않고 하면 데이터가 다 날아간다.). 강제 푸쉬가 필요하다.
->소스트리는 강제 푸시를 지원하지도 않는다.(그만큼 위험하다는... 개인적으로 비추한다고 하신다.)
2. Branch를 만들어 되돌리기 (추천!!)
- 브랜치를 새로 만들어서 수정 후 master에 병합해준다.
*장점 : 쉽다. 데이터가 날아가지 않는다.
*단점 : 브랜치가 지저분해진다.
3. revert
- 지금까지의 기록은 남겨두고 해당 상황의 커밋을 다음 커밋으로 남겨준다.
- 가장 최근 commit에 대해서 revert를 진행해야한다.
"더 이전의 커밋으로 되돌리기를 원한다면"
- 최신부터 순서대로 revert를 반복 적용하면 된다.
*장점 : 데이터가 날아가지 않는다.
*단점 : 좀 어렵다.
'Git' 카테고리의 다른 글
iOS - Github Action으로 Swift Lint 적용하기 (0) | 2023.04.23 |
---|---|
Git - Resolve conflicts 버튼 비활성화 시 해결 방법 (0) | 2020.11.23 |
Git 삽질 일기 - Repository not found (0) | 2020.08.15 |
삽질 반성 일기0413 - git pull request (2) | 2020.04.13 |