티스토리 뷰
이번 프로젝트에서 git을 사용한다.
우라질나게 어렵다.
* Init
1. git init
2. git add [file]
3. git commit -m "first commit"
4. git remote add origin [URL]
5. git push -u origin master
* Init existing repository
1. git remote add origin [URL]
2. git push -u origin master
* Master branch update
1. git pull origin master:master
2. git fetch
* git checkout master
1. git pull origin master
2. git fetch
3. git checkout -b "[branch]"
: branch를 생성
4. git branch
: 현재 지정된 branch가 녹색으로 표시됨
* Branch작업
1. git checkout [branch]
: branch 선택
2. git status
: 올릴파일 상태 확인
3. git add . OR git add -A
: 전체 수정된 파일들을 올림
4. git commit -m "[comment]"
: Commit 포인트를 하나 더 만들고 데이터들을 올림
5. git push
: 데이터를 올린다.
* Master에 병합
1. git checkout [branch]
: branch 선택
2. git rebase master
: branch가 master 다음으로 이동함
3. git checkout master
: HEAD가 master로 이동
4. git rabase bugfix
: 수정된 branch와 master를 합침
5. git push
: 실제적으로 서버에 반영
* Review요청
1. git review
2. git review "[메일주소]"
* Reset
1. git reset
2. git reset --hard
* Log
1. git log
* Reset for Commit Point
git reset --soft HEAD~[돌아갈 칸수]
git reset --hard
* 개별파일 원복
git checkout -- <파일> : 워킹트리의 수정된 파일을 index에 있는 것으로 원복
git checkout HEAD -- <파일명> : 워킹트리의 수정된 파일을 HEAD에 있는 것으로 원복(이 경우 --는 생략가능)
git checkout FETCH_HEAD -- <파일명> : 워킹트리의 수정된 파일의 내용을 FETCH_HEAD에 있는 것으로 원복? merge?(이 경우 --는 생략가능)
* index 추가 취소
git reset -- <파일명> : 해당 파일을 index에 추가한 것을 취소(unstage). 워킹트리의 변경내용은 보존됨. (--mixed 가 default)
git reset HEAD <파일명> : 위와 동일
* commit 취소
git reset HEAD^ : 최종 커밋을 취소. 워킹트리는 보존됨. (커밋은 했으나 push하지 않은 경우 유용)
git reset HEAD~2 : 마지막 2개의 커밋을 취소. 워킹트리는 보존됨.
git reset --hard HEAD~2 : 마지막 2개의 커밋을 취소. index 및 워킹트리 모두 원복됨.
git reset --hard ORIG_HEAD : 머지한 것을 이미 커밋했을 때, 그 커밋을 취소. (잘못된 머지를 이미 커밋한 경우 유용)
git revert HEAD : HEAD에서 변경한 내역을 취소하는 새로운 커밋 발행(undo commit). (커밋을 이미 push 해버린 경우 유용)
* 워킹트리 전체 원복
git reset --hard HEAD : 워킹트리 전체를 마지막 커밋 상태로 되돌림. 마지막 커밋이후의 워킹트리와 index의 수정사항 모두 사라짐. (변경을 커밋하지 않았다면 유용)
git checkout HEAD . : ??? 워킹트리의 모든 수정된 파일의 내용을 HEAD로 원복.
git checkout -f : 변경된 파일들을 HEAD로 모두 원복(아직 커밋하지 않은 워킹트리와 index 의 수정사항 모두 사라짐. 신규추가 파일 제외)
* 참조 : reset 옵션
--soft : index 보존, 워킹트리 보존. 즉 모두 보존.
--mixed : index 취소, 워킹트리만 보존 (기본 옵션)
--hard : index 취소, 워킹트리 취소. 즉 모두 취소.
* untracked 파일 제거
git clean -f
git clean -f -d : 디렉토리까지 제거
'Version Control' 카테고리의 다른 글
[SVN]linux에서 사용하기 (0) | 2015.01.30 |
---|---|
[Git]유용한 Site (0) | 2014.08.19 |
Tortoise SVN 설치 및 사용법 (0) | 2014.07.29 |
xcode5에서 SVN에 새 프로젝트 Import (0) | 2014.03.04 |
Subversion branches, trunk, tags 디렉토리 의미 (0) | 2014.03.03 |
- Total
- Today
- Yesterday
- docker
- ubuntu
- ios
- war
- CentOS
- enum
- centos8
- Kotlin
- Python
- SWIFT
- github
- Codable
- MySQL
- Java
- cocoapods
- Gradle
- rxswift
- go
- tomcat
- golang
- php
- android
- intellij
- Xcode
- Spring
- nodejs
- Windows
- windows10
- Linux
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |