일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 탐색
- 기초
- 우분투
- git hub
- 이진 탐색
- 자료구조
- sys.stdin.readline()
- 트리
- 순차 탐색
- 그리디
- type 함수
- NQueen
- 그래프
- 동적 계획
- 파이썬
- 스택
- 백준
- Git
- 정렬
- 재귀 함수
- 알고리즘
- 자기개발
- 유닉스
- IT
- MiniHeap
- 분할 정복
- 배열
- 문법
- UNIX
- format 메서드
Archives
- Today
- Total
코딩고치
[Git] 커밋 본문
커밋 메시지
- 기존 코드에서 데이터 삽입 기능을 하는 함수를 추가
# 최대 힙
class Heap:
def __init__(self, num):
self.heap_list = list()
self.heap_list.append(None)
self.heap_list.append(num)
# 여기서부터 추가된 코드
def switch(self, num_index):
if num_index == 1:
return False # root node 일때
parent_index = num_index // 2
if self.heap_list[num_index] > self.heap_list[parent_index]:
return True
return False
# 데이터 삽입
def insert(self, num):
if len(self.heap_list) == 0:
self.heap_array.append(None)
self.heap_list.append(num)
return True
self.heap_list.append(num)
# 추가한 num이 부모 노드보다 크면 자리바꾸기 위한 코드
num_index = len(self.heap_list) - 1
while self.switch(num_index):
parent_index = num_index // 2
self.heap_list[num_index], self.heap_list[parent_index] \
= self.heap_list[parent_index], self.heap_list[num_index]
num_index = parent_index
return True
- git commit 명령어를 입력하면 아래와 같은 창이 뜬다.
- 커밋 메시지를 입력할 수 있는 텍스트 에디터 창이다.
- i를 누르면 입력 모드로 들어가 메시지를 쓸 수 있다.
- 메시지를 쓴 후 ESC를 눌러 기본 모드로 들어간 후 :wq를 입력하면 메시지가 저장되고 커밋이 된다.
- 커밋 후 git log로 확인할 수 있다.
가장 최신 커밋 수정
-
코드를 수정 하지만 굳이 커밋을 하나 더 만들 필요가 없는 경우 이용한다.
- 코드 수정 후 add 한 다음에 git commit -- amend 명령어 입력
-
명령어를 입력하면 커밋 메시지를 입력했던 창으로 들어간다.
-
커밋 메시지를 수정해도 되고 안 해도 상관없다.
- 커밋 히스토리를 살펴보면 커밋의 개수는 그대로지만 가장 최신의 커밋 아이디가 바뀐 것을 볼 수 있다.
커밋 메시지 작성 방법
- 커밋 메시지의 제목과 상세 설명 사이에 한 줄을 공백으로 둔다.
- 제목 뒤에 점을 찍지 않는다.
- 제목 첫 번째 알파벳은 대문자로 적는다.
- 제목은 명령조로 적는다.
- 상세 내용
- 왜 했는지
- 어떤 문제가 있었는지
- 해결책이 어떤 효과를 가지고 있는지
- 최대한 친절하게 작성한다.
커밋할 때의 팁
- 커밋을 할 때 하나의 수정사항에 대해서만 커밋을 한다.
- 여러 부분을 수정하고 커밋을 할 경우 어디서 문제가 생기는지 알지 못하는 경우가 생김.
- 코드가 정상적으로 실행되는 경우에만 커밋을 한다.
두 커밋 사이의 차이점 확인
- git diff [이전 커밋 아이디] [이후 커밋 아이디]를 입력한다.
-
- 빨간색이 이전 커밋의 모습이며 + 초록색이 이후 커밋의 모습이다.
Head
-
Head는 어떤 커밋 하나를 가리킨다.
- 보통 가장 최근에 한 커밋을 가리킨다.
-
Head가 어떤 커밋을 가리키느냐에 따라서 워킹 디렉토리의 내용이 달라진다.
커밋 리셋하기
-
현재 Head는 가장 최근의 커밋을 가리키고 있다.
-
git reset --hard [커밋 아이디]
- 입력한 커밋 아이디로 head를 이동시킨다.
- 주로 과거 시점으로 돌아가고 싶을 때 사용한다.
-
Head가 가리키는 것이 달라진 것을 확인할 수 있다.
-
MaxHeap.py 파일을 확인하면 함수가 추가되기 전의 코드만 출력되는 것을 볼 수 있다.
- 워킹 디렉토리가 달라지기 때문
git reset의 옵션
- --soft
- --mixed
- -- hard
- 커밋 이후에 했던 작업이 전부 삭제되므로 권장되지는 않는다.
-
코드를 수정하고 터미널에 'git add.'을 입력하면 working directory와 staging area가 업데이트된다.
-
바로 이전 커밋으로 --soft 옵션을 이용하여 리셋을 하면 head가 바뀌게 된다.
-
하지만 working directory는 수정한 모습 그대로 남아있게 된다.
-
staging area 또한 영향을 받지 않고 그대로 남아 있다.
-
--mixed 옵션을 이용하면 working directory는 남아있고 staging area는 리셋된다.
- --hard 옵션은 전부 reset 된다.
tag 달기
- git tag [태그 이름] [커밋 아이디]를 입력하면 된다.
'Git' 카테고리의 다른 글
[Git] git fetch (0) | 2020.05.11 |
---|---|
[Git] 브랜치 (0) | 2020.05.05 |
[Git] 커밋 히스토리 (0) | 2020.05.04 |
[Git] 다른 사람의 프로젝트 가져오기 (0) | 2020.05.04 |
[Git] Git hub remote repository 이용 (0) | 2020.04.28 |
Comments