- git 초기화
- git으로 버전관리를 할 경로에서 사용하며, .git 폴더가 생성됨
→ 기존 디렉토리 사용
- Git을 사용할 프로젝트 폴더로 이동 후 아래의 명령어 실행
$ git init
ex) elice라는 폴더를 git 저장소로 만들려면 수행해야할 명령어는?
- c:/Users/madHatter
- elice 폴더는 c:/Users/madHatter/teaparty/elice
- cd 명령어로 elice 폴더로 들어가서 git init 실행
- git init ./teaparty/elice 실행
- 어떤 파일이 변경되었는지 등의 파일의 상태를 확인할 수 있음
- 파일의 변경 내용을 스테이징 영역(staging area)에 추가하기 위해 사용하는 명령어
| # 모든 변경점 추가 |
| $ git add -A |
| |
| # 현재 경로의 모든 변경점 추가 |
| $ git add . |
| |
| # README.md 파일만 추가 |
| $ git add README.md |
| # 메시지와 함께 커밋 |
| $ git commit -m 'First Commit' |
| |
| # 신규 파일을 제외한 변경사항을 Staging 후 커밋 |
| $ git commit -a |
| |
| # 이전 커밋 변경 |
| $ git commit |
| # --stat : 어떤 파일이 commit에서 수정되고 변경되었는지, 파일 내 라인이 추가되거나 삭제되었는지 확인 |
| $ git log --stat |
| |
| # branch 그래프를 추가하여 보기 |
| $ git log --graph |
| |
| # 모든 branch 보기 |
| $ git log --all |
| |
| # commit 메시지 제목만 한줄로 보기 |
| $ git log --pretty=online |
| |
| # -p, --patch : 각 commit의 수정 결과를 보여주는 diff와 동일 |
| # -n : 상위 n개의 commit만 보여줌 |
| $ git log -p -2 |
| |
| # -S : 코드에서 추가되거나 제거된 내용 중 특정 텍스트(funtion_name)가 포함되어 있는지 검사 |
| $ git log -S function_name |
- 파일을 지우거나 스테이지에서 해제할 때 사용합니다.
| # 파일 삭제 |
| $ git rm README.md |
| |
| # README.md 파일을 추적되지 않은 상태로 만듦 |
| $ git rm --cached README.md |
| # 현재 branch의 가장 최근 commit 정보를 확인 |
| $ git show |
| |
| # 특정 commit 정보를 확인 |
| $ git show [commit 해시값] |
| |
| # 특정 branch의 가장 최근 commit 정보를 확인 |
| $ git show [branch 명] |
| # commit을 취소하고 해당 파일들은 스테이징 영역에 보존 |
| $ git reset |
| |
| # commit을 취소하고 해당 파일들은 Unstaging |
| $ git reset |
| $ git reset HEAD^ |
| |
| # commit을 취소하고 해당 파일들의 변경점 삭제 |
| $ git reset |
| $ git reset HEAD^ |
| $ git push -f origin 브랜치명 |
| $ git pull |
- 원격 저장소(remote repository)를 관리하는 명령어 입니다.
| # 설정된 원격 저장소 보기 |
| $ git remote -v |
| |
| # 원격 저장소 이름 변경 (origin에서 git_test로 변경) |
| $ git remote rename origin git_test |
| |
| # test 라는 이름으로 원격 저장소 추가하기 |
| $ git remote add test <https://github.com/test/test> |
| # 로컬 branch 목록 확인 |
| $ git branch |
| # 원격 저장소를 포함한 모든 branch 목록 확인 |
| $ git branch - |
| # test 라는 branch 생성하기 |
| $ git branch test |
| # test 로컬 branch를 origin이라는 원격 저장소의 test branch에 연결 |
| $ git branch --set-upstream-to=origin/test test |
| # test branch 삭제 |
| $ git branch -d test |
| # test branch 강제 삭제 |
| $ git branch -D test |
- branch를 변경하고 워킹 트리(Working tree)에서 변경점을 복원하는 명령어 입니다.
| # test branch로 변경하기 |
| $ git checkout test |
| # test2 라는 branch를 새로 생성하고 test2 branch로 변경하기 |
| $ git checkout -b test2 |
| # Unstaged 상태의 파일을 원래대로 되돌림 |
| $ git checkout -- [파일명] |
| # Unstaged 상태의 현재 경로의 모든 파일을 원래대로 되돌림 |
| $ git checkout -- . |
- 원격 저장소(remote repository)의 데이터를 가져옵니다. pull 로 병합하기 전에 어떤 변경점이 있나 살펴볼 때 사용하기 좋습니다.
| # origin 이라는 원격 저장소의 데이터를 가져옴 |
| $ git fetch origin |
| # 모든 원격 저장소의 데이터를 가져옴 |
| $ git fetch --all |
| # 원격 저장소에서 삭제된 branch를 로컬에서도 삭제 |
| $ git fetch --prune |
- 원격 저장소(remote repository)의 데이터를 가져온 후 로컬 branch에 병합
- 원격 저장소(remote repository)에 코드 변경분을 업로드합니다.
| # 기본 사용법 |
| $ git push [저장소명] [branch] |
| # 최초 1회 저장소, branch 지정. 이 후, 생략 가능 |
| $ git push -u [저장소명] [branch] |
| # 로컬에서 생성한 branch를 push |
| $ git push --set-upstream [저장소명] [branch] |
| # master branch를 병합 |
| git merge master |
| # 병합 충돌(Conflict) 발생 시 취소 |
| git merge |
| # 공백으로 인한 병합 충돌을 무시하고 병합 |
| git merge -Xignore-all-space |
| $ git clone <https://gitlab.com/group/project> |
| |
| $ git remote add origin <https://gitlab.com/group/project> |