han811.log
로그인
han811.log
로그인
Git을 현명하게 사용하기 1탄
han811
·
2021년 5월 30일
팔로우
0
git
0
good to know
목록 보기
6/7
0. GUI
gitk 하면 해당 working direcory의 모든 내용들을 GUI로 볼 수 있습니다.
1. Git 기본 설정
/etc/gitconfig 파일 : 모든 사용자 적용
~/.gitconfig , ~/.config/git/config : 특정 사용자 적용
.git/config : 특정 repository 적용
git config --list
모든 설정 내용을 보여줍니다.
git config -key-
해당 key에 대해 어떤 값을 사용하는지 보여줍니다.
2. git status
파일의 상태를 확일할 수 있습니다.
staged, unstaged, modified, new file, tracked 상태가 있습니다.
git status
파일 상태 확인이 가능합니다.
git status --short
파일 상태를 간략하게 확인이 가능합니다.
3. .gitignore
git 파일 관리시 무시할 파일들을 설정이 가능합니다.
다음의 규칙을 따릅니다.
1) 아무것도 없는 라인이나, '#'으로 시작하는 라인은 무시한다.
2) 표준 glob 패턴을 사용한다.
[tip]
: 문자가 하나도 없거나 하나 이상을 의미
[abc] : 중괄호 안에 있는 문자 중 하나를 의미
[0-9] : 캐릭터 사이에 있는 문자 하나를 의미
** : 디렉토리 안의 디렉토리
3) /로 시작하면 하위 디렉토리에 적용되지 않는다.
4) 디렉토리는 /를 끝에 사용하는 것으로 표현한다.
5) !로 시작하는 패턴의 파일은 무시하지 않는다.
4. git diff
staged 된 파일과 unstaged 상태인 파일들을 비교해 줍니다.
--staged 옵션을 주면 staged 된 파일들의 변경 비교내용을 보여줍니다.
5. git commit
#으로 시작하는 내용을 제외한 내용으로 commit 해줍니다.
-v 옵션을 추가하면 diff 메세지를 같이 볼 수 있습니다.
-m 옵션을 추가하면 인라인으로 메세지를 첨부할 수 있습니다.
-a 옵션을 추가하면 tracked 되는 파일들에 한해서 자동으로 staging area에 넣어주므로 git add 명령을 실행하는 수고를 덜 수 있습니다.
6. git rm
tracked 되는 파일을 working directory에서도 삭제하고 staging area에서도 삭제합니다.
따라서 해당 파일의 삭제 상태가 staged 상태가 됩니다.
만약 파일이 수정이 되었거나 staging area에 있다면 즉 commit이 되어 있지 않다면 삭제가 안되므로 commit후에 하던지 -f 옵션을 주어 강제 삭제 해야합니다.
--cached 옵션을 사용하면 working direcotry에서는 삭제가 안되고 git이 추적하지 않도록만 해줍니다.
여러 파일 삭제시 glob 패턴을 사용하면 됩니다.
7. git mv
파일 이름을 변경해주고 git이 파일 이름이 바뀐 것을 알게 해줍니다.
8. git log
git commit history를 보여줍니다.
-p 옵션을 사용하면 각 commit의 diff 결과를 보여줍니다.
-2 옵션을 사용하면 최근 2개의 결과만을 보여줍니다.
--stat 옵션을 사용하면 각 commit의 통계 정보를 조회할 수 있습니다.
좀 더 자세하게 사용하는 방법은 추후 포스팅 하겠습니다.
9. 되돌리기
git commit --amend : 직전 commit을 기준으로 수정 사항을 덮어 씌운 새로운 commit을 합니다.
git reset HEAD -file- : staged 상태의 파일을 unstaged 상태로 바꿉니다. --hard 옵션이 있으면 working directory의 파일도 바뀌므로 조심해서 사용해야 합니다.
git checkout -- -file- : file을 수정되기 이전의 상태로 되돌립니다. 매우 위험합니다.
commit을 한 내용은 언제든 복구가 되지만 commit하지 않은 내용들은 복구가 안되니 조심해야 합니다.
10. remote 저장소
git remote : 저장소 단축이름들을 보여줍니다. -v 옵션을 추가해 주면 단축이름과 url을 같이 보여줍니다.
git remote add -단축이름- -url- : 단축이름으로 해당 url의 remote 저장소를 추가해 줍니다.
git fetch -단축이름- : 로컬에는 없지만 리모트 저장소에는 있는 데이터를 모두 가져옵니다.
git pull -단축이름- : fetch후에 merge까지 해줍니다.
git remote show -단축이름- : remote 저장소의 구체적인 정보를 확인할 수 있습니다.
git remote rename -원래이름- -변경이름- : remote 저장소의 단축이름을 변경할 수 있습니다.
git remote rm -다툭이름- : remote 저장소를 삭제합니다.
11. alias
git config --global alias.-이름- -명령어- : git -이름- 이 git -명령어- 와 같은 역할을 합니다.
han811
han811
팔로우
이전 포스트
vscode 현명하게 사용하기 1탄
다음 포스트
docker 사용하기 1탄
0개의 댓글
댓글 작성