본문 바로가기

학습/git

[Git]Github와 commit

1. git push
깃허브와 연결 후 레포지토리 변경사항을 보낼 때
깃허브에서 README 파일은 바로 열람할 수 있게한다.

2. 로컬 레포지토리에서 새로운 커밋을 할 때마다 리모트 레포지토리에 업데이트 해줘야한다

3. git pull
리모트 레포지토리의 내용을 로컬레포지토리에 반영한다.

4. 기본적으로 자신만 git push를 할 수 있다.
해당 리모트 레포지토리의 collaborator로 지정하면 다른 사용자도 git push를 사용할 수 있다.

5. git clone 복사할깃허브레포지토리주소
해당 주소의 레포지토리가 복사된다

6. git log
커밋 히스토리 출력 
커미잇의 아이디(커밋 해시)도 출력

7. git log --pretty=oneline
커밋 히스토리를 깔끔하게 출력

8. git show 커밋해시(중복되지 않는다면 4자리만 입력해도 된다)
해당 커밋해시의 정보를 보여준다

9. m 옵션 없이 커밋 메시지 남기기
git commit 만 입력하면 텍스트 에디터가 실행된다.

10. 최신 커밋 수정하기
git commit --amend
실행을 하게 되면 마찬가지로 vim에 들어가지는데 이전 커밋메시지가 그대로 남아있다.
그대로 쓰거나 수정해도 된다.

11. 커밋메시지 작성 가이드
  1.제목과 상세 설명 사이 한 줄을 비워둔다
  2.제목 마지막에 .을 붙이지 않는다.
  3.커밋 메시지의 제목의 첫 번째 알파벳은 대문자로 작성
  4.커밋 메시지 제목은 명령조로 작성하기
  5. 커밋 상세 내용으로 적으면 좋은 것
   - 왜 커밋을 했는지
   - 어떤 문제가 있었고
   - 적용한 해결책이 어떤 효과를 가지는 지
  6. 가능하다면 최대한 자세하게

12. 커밋 권장 가이드
  1. 하나의 커밋에는 하나의 수정사항, 하나의 이슈를 해결한 내용을 남기기
    - 다양한 수정사항을 하나의 커밋을 남기는 것은 나중에 오류 발생 시 원인을 찾기 힘들다.
  2. 현재 프로젝트 디렉토리가 그 내부의 전체 코드를 실행했을 때 정상 작동할 때에만 커밋을 한다.
    - 정상 실행이 되지 않는 버전을 커밋을 하면 협업에 혼선을 줄 수 있다.

13. 긴 커맨드에 alias 설정하기
명령어가 길 경우 별명처럼 설정해서 사용할 수 있다.
예를 들어 git log --pretty=oneline이라는 커맨드를 git history로 작성하고 싶을 때

git config alias.history 'log --pretty=oneline'

이라고 작성해주면 된다.
해당 프로젝트 디렉토리에서만 명령어가 작동된다

14. alias 된 명령어 확인하기
git config --get-regexp alias

15. alias 제거하기
gti config --unset alias.history

 

16. git config alias.별명  은 git 다음 커맨드에서 사용 가능하다.

git까지 별명으로 남기기 위해서는

예를 들어 alias gl="git log" 이런식으로 작성하면 된다.


17. 커밋 A와 커밋 B의 차이 확인 하기
git diff 커밋해시A 커밋해시B
커밋해시A가 커밋해시B보다 이전 버전이여야 합니다.

18. HEAD의 의미
어떤 커밋 하나를 가리킴
기본적으로 가장 최근에 한 커밋

19. git reset --hard 커밋해시
이전 커밋으로 돌아갈 수 있다.

20. staging area에 있던 파일은 commit 이후에도 파일이 남아있다.
git add를 할때마다 파일이 추가 되거나 원래 있던 파일이 더 새로운 버전으로 교체될 뿐이다.

21. git reset 3가지 옵션(19번과 관련)
--soft
--mixed
--hard
--soft 헤드만 바뀜
--mixed working directory만 안 바뀜
--hard 전부 바뀜 (권장되지않음)

22. 커밋해시를 사용하지 않고 리셋하기
HEAD^ 바로 이전 커밋
HEAD~n (n = 2~)  n번째 전 커밋

23. 커밋에 태그 달기
보통 프로젝트에서 주요버전의 시작점이 되는 커밋에 태그를 단다.
git tag [태그이름] [커밋 아이디]

24. git tag
태그 조회

25. 태그 지우기
git tag -d [태그이름]

'학습 > git' 카테고리의 다른 글

[Git]협업 및 작업 관련 명령어  (1) 2023.10.26
[Git]branch, merge  (0) 2023.10.25
[Git]Git 작업 영역 및 파일 상태  (0) 2023.10.24
[git]git과 github, repository와 commit  (1) 2023.10.23