Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 리펙터링
- Protocol
- RxCocoa
- tableView
- rxswift
- 클린 코드
- map
- Clean Code
- uitableview
- ribs
- Refactoring
- 애니메이션
- UICollectionView
- collectionview
- Human interface guide
- combine
- ios
- uiscrollview
- clean architecture
- 스위프트
- Observable
- swift documentation
- HIG
- swiftUI
- UITextView
- 리팩토링
- 리펙토링
- SWIFT
- MVVM
- Xcode
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[git] 롤백 revert, reset, cherry-pick 본문
reset 내용
Revert란?
- revert는 롤백할 때 롤백한 커밋이 새로 찍히며, commit point가 과거로 되돌아가지 않음
- reset은 롤백하면 commit point가 과거로 돌아가며, 롤백 내역 삭제
- revert 사용 - 이미 remote에 푸시가 되었을 때 로컬에서 과거의 커밋을 수정하고 push할 경우 변경이 어려움
- 로컬에서 변경 후 git push -f하면 되지만 위험
- revert 사용하여 로컬에서 변경 후 push하면 변경 (커밋포인트가 과거로 가서 과거의 내용을 변경하는것이 아니므로)
revert 사용 방법
- 예제 커밋 - 순서대로 1번, 2번, 3번 각 print()추가
print(1)
print(2)
print(3)
- git reflog를 통해 롤백할 commit ID 확인
- 2번 커밋을 롤백하고 싶은 경우: git revert 480fa9f
- revert 해결
- revert 해결 후 커밋하면 완료
cherry pick
- 다른 브랜치에 있는 커밋을 선택적으로 자신의 브랜치에 적용시킬 때 사용하는 명령어
- 현재 branch X에 있다면, (git checkout X)
- 13af32cc내용만 현재 브랜치인 X에 적용하는 경우,
git cherry-pick 13af32cc
- 다수의 내용을 적용시키고 싶은 경우
// 2개의 커밋 체리픽
git cherry-pick 76ae30ef a0ee45lc
// 76ae30ef부터 a0ee45lc까지 체리픽
git cherry-pick 76ae30ef^..a0ee45lc
'Git, CocoaPods, Xcode, Shell > Git' 카테고리의 다른 글
[Git] git rebase interactive, git rebase -i, squash (커밋 합치기, 스쿼시, 중간에 커밋 넣기, 커밋 순서 바꾸기, conflict 해결 방법) (0) | 2023.04.29 |
---|---|
[iOS - swift] 1. GitHub Action 개념, 기능 (CI/CD) (0) | 2021.12.04 |
[Git] 9. rebase interactive - 이전 커밋내용 수정하기 (source tree 사용) (0) | 2020.08.31 |
[Git] 8. Rebase, git flow (2) | 2020.06.11 |
[git] 7. Tag (0) | 2020.06.10 |
Comments