Git을 현명하게 사용하기 1탄

han811·2021년 5월 30일
0

good to know

목록 보기
6/7
post-thumbnail
post-custom-banner

0. GUI

  • gitk 하면 해당 working direcory의 모든 내용들을 GUI로 볼 수 있습니다.

1. Git 기본 설정

  • /etc/gitconfig 파일 : 모든 사용자 적용
  • ~/.gitconfig , ~/.config/git/config : 특정 사용자 적용
  • .git/config : 특정 repository 적용
  1. git config --list
  • 모든 설정 내용을 보여줍니다.
  1. git config -key-
  • 해당 key에 대해 어떤 값을 사용하는지 보여줍니다.

2. git status

  • 파일의 상태를 확일할 수 있습니다.
  • staged, unstaged, modified, new file, tracked 상태가 있습니다.
  1. git status
  • 파일 상태 확인이 가능합니다.
  1. 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 -명령어- 와 같은 역할을 합니다.
profile
han811
post-custom-banner

0개의 댓글