반응형
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 | 31 |
Tags
- 굿노트 속지
- 남영역 청년주택
- 굿노트
- 강릉 당일치기 코스
- 2022 굿노트 다이어리
- 강릉 새벽기차
- 굿노트 템플릿
- 애플워치 스포츠루프
- ubuntu
- 굿노트 속지 공유
- 청년주택 신청방법
- mac os hosts
- 인계동 파스타
- 굿노트 위클리
- 역세권 청년주택 신청기준
- 애플워치7 스타라이트
- hosts 설정
- 굿노트 다이어리
- VMware
- 먼슬리
- 아이패드 굿노트
- 애플워치 줄질
- 굿노트 다이어리 공유
- 애플워치 스타라이트
- 맥북 호스트 설정
- 아이패드
- 굿노트 먼슬리
- 먼슬리 속지
- c++
- GIT
Archives
- Today
- Total
하루하루
[Git] git 명령어 정리 본문
반응형
2020/01/21 - [Git] - [Git] git 4개의 공간
저장소 초기화
mkdir <폴더명>
cd <폴더명>
git init
저장소 복제
git clone <저장소 url>
새로운 파일 추가/추적 (Staging Area 추가)
- 파일 또는 폴더를 Tracked 상태로 만든다.
- 파일은 여러개 추가 가능하다.
- 폴더를 추가할경우 아래에 있는 모든 파일을 재귀적으로 추가한다.
git add <파일> <폴더>
추가 파일 취소 (Staging Area -> Unstage)
- 파일명을 작성하지 않을 경우 add한 파일을 전체 취소한다.
git reset HEAD <파일>
파일 상태 확인
git status
- 간단하게 확인
- -s 또는 --short 옵션을 준다.
git status -s
Staging Area의 파일 commit
- git add 명령으로 추가한 파일을 commit 한다.
- 쌍따옴표 안에 커밋 내용을 작성한다.
- 엔터로 줄 바꾸는 것도 가능하다.
git commit -m "<메시지>"
commit 메시지 수정
git commit --amend
commit 취소하기
- commit 취소 후 파일을 unstaged 상태로 변경
$ git reset HEAD^ //최신 커밋
$ git reset HEAD~2 //끝에서 2개의 commit 취소
- commit 취소 후 파일은 staged 상태를 유지
$ git reset --soft HEAD^
commit 합치기
- commit 목록 확인
$ git log --pretty=oneline
- 합치기 원하는 commit 개수를 rebase
$ git rebase -i HEAD~3 //최근 3개의 커밋을 rebase
- rebase 명령어 후 아래와 같이 출력되면 합치기 원하는 commit의 pick을 squash 또는 s로 변경해준다.
pick bf31dab task 1
pick 0fe2df8 task 2
pick 8cee3d0 task 3
# Rebase 453a845..ac6e3f0 onto 453a845 (3 command(s))
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
pick bf31dab task 1
squash 0fe2df8 task 2
squash 8cee3d0 task 3
파일 올리기
git push origin <branch name>
파일 무시하기 (.gitignore 설정)
- Git을 통해 관리하지 않을 파일을 설정한다.
- 대부분 임시파일로 사용하는 파일, 자동으로 생성하는 문서들을 추가한다.
- Git 저장소에 commit하고 싶지 않은 파일을 실수로 commit하는 것을 방지할 수 있다.
- .gitignore파일을 생성 후 입력 규칙에 따라 작성한다.
- 아무것도 없는 라인이나, '#'으로 시작하는 라인은 무시한다.
- 표준 Glob 패턴을 사용한다. 프로젝트 전체에 적용된다.
- '/'로 시작하면 하위 디렉토리에 재귀적으로 적용되지 않는다.
- 디렉토리는 '/'를 끝에 사용하는 것으로 표현한다.
- '!'로 시작하는 패턴의 파일은 무시하지 않는다.
Working directory와 Staging Area 비교
- 파일을 수정했지만 staged 상태가 아닌 파일을 비교할 수 있다.
- Unstaged 상태인 것만 보여주므로 수정한 파일을 모두 Staging Area에 넣었다면 git diff는 아무것도 출력되지 않는다.
git diff
- Staging Area에 넣은 파일의 변경 부분을 보고 싶으면 --staged 또는 --cached 옵션을 사용한다.
git diff --staged
Git에 올린 파일 삭제
- 파일을 git remote(원격)에 push를 했을 경우 로컬 저장소에서 파일을 삭제해도 remote 저장소에서는 삭제되지 않는다.
- 원격 저장소와 로컬 저장소에 있는 파일을 삭제할 경우
$ git rm <파일>
- 원격 저장소에서만 파일을 삭제할 경우
$ git rm --cached <파일>
- 폴더를 삭제할 경우
$ git rm --cached -r <폴더>
반응형
'IT > Git' 카테고리의 다른 글
[Git] git 4개의 공간 (0) | 2020.01.21 |
---|---|
[Git] git 저장소 만들기 (0) | 2020.01.06 |
[Gerrit] push 오류 발생 시 (0) | 2020.01.06 |
[Git] git 서버 사용을 위한 ssh 공개키 만들기 (0) | 2020.01.06 |
[Git] git 최초 설정하기 (0) | 2020.01.06 |