[git] git 정리

2023. 4. 4. 17:02git

git config --global alias.l "log --oneline --all --graph"

 

Git status

Git add 

git commit -am "v4" -a 옵션은 tracked 상태의 파일만 auto adding 해준다.

add : untracked -> tracked

-a : tracked만 adding

 

.gitignore에 무시하고자 하는 파일을 추가한다. 

파일이 status에 더 이상 나타나지 않는 것을 확인한다.

 

config.txt.template 파일을 만들어서 이 파일을 저장한다. 

database_id:USER_ID

database_password:USER_PASSWORD

 

Git checkout 하면 무조건 head가 움직임

Git reset —hard a head가 가리키는 main이 움직인다.

head가 아무것도 가리키고 있지 않으면 head가 움직임(checkout과 같다)

 

checkout = HEAD를 바꾼다. 

reset = HEAD의 Branch를 바꾼다.

Git reflog

 

불변 - immutability 원본은 불변

git commit --amend -m version6

Commit id가 바뀜. 원본은 수정되지 않기 때문에

 

reset을 사용하는 이유

맞습니다. push하기 전에 실수한 내용을 되돌리고, 코드를 수정한 뒤에 다시 commit하고 push하는 등의 작업을 위해 reset을 사용합니다. 이렇게 하면 코드의 히스토리를 깔끔하게 관리할 수 있고, 협업에서도 다른 개발자들과 코드를 공유하기 전에 오류를 최소화할 수 있습니다.

 

Merge editor는 3way merge로 표시해준다.

 

1. 공통의 파일을 만든다.

2. 커밋한다.

3. 브랜치를 만든다.

4. 시나리오 따라서 커밋을 각자 한다.

5. 병합한다.

 

Conflict 최소화

 

Git push —force # 원격 저장소 삭제하는데 알고 써야한다.

 

Revert 추가해서 다시 돌리기 conflict의 여지가 있다.

 

git push --set-upstream origin feature/login # 원격저장소에서도 저 이름을 쓰겠다.

 

Pull request = merge request (merge 어울리기도)