1.

 

팀 프로젝트를 하다 보면 Windows를 쓰는 사람, Mac을 쓰는 사람이 함께 작업해야 할 수 있다.

그런 경우, Windows에서는 git 전역 환경으로 다음과 같이 설정한다.

 

D:\work> git config --global --list

D:\work> git config --global --add core.eol native
D:\work> git config --global --add core.autocrlf true

 

즉,

pull 할 때 CR/LF로 줄끝 처리를 하고 push 할 때 LF 처리를 해 주어 Mac과 호환되도록 처리한다.

 

 

 

2.

 

아무 생각없이 키보드를 치다가 실수로 commit 해 버린 것을 취소하고 싶을 때...

 

D:\work> git log --oneline
7570190f (HEAD -> master, origin/master, origin/HEAD) 마지막666666
512e70bb 마지막666666
81033ff1 마지막55555
02b03011 마지막4444
4bf411e0 마지막333
2dd92c06 마지막22
ac8f51ea 마지막1
9ccb8f38 중간 커밋
c6c5eff1 최초 커밋

또는

D:\work> git log --oneline
7570190f (HEAD -> master) 마지막666666
512e70bb (origin/master, origin/HEAD) 마지막666666
81033ff1 마지막55555
02b03011 마지막4444
4bf411e0 마지막333
2dd92c06 마지막22
ac8f51ea 마지막1
9ccb8f38 중간 커밋
c6c5eff1 최초 커밋

 

이렇게 나오면

 

D:\work> git reset 512e70bb

 

이렇게 해 주면 된다. (staged된 상태로 commit만 취소)

Windows 환경에서는 git reset HEAD^ 뭐 이런 명령은 안 먹는다.

(위 첫 번째 예제처럼 push 완료된 상태에서 reset을 하고 다시 commit-push를 할 때 fast-forward commit이 아니라는 오류가 발생하는데, 이 때는 pull을 먼저하여 동기화한 다음에 다시 push하면 된다. 별 거 없다. 시키는 대로 하면 된다.)

 

 

 

3.

 

Windows용 Git 2.14 버전 이후부터 SSL 인증서 검증 처리 방식이 추가/변경됐다.

기존에는 사설인증서(Self-signed certificate)를 사용한 로컬 HTTPS 통신을 하기 위해서는 아래와 같이 SSL 검증을 끄고 써야 했다.

 

D:\work> git config --global http.sslverify false

 

그런데, 언젠가부터(아마 최근 버전이겠지) 이렇게 설정하면 아래와 같은 보안 경고가 나타나기 시작했다.

 

warning: ----------------- SECURITY WARNING ----------------
warning: | TLS certificate verification has been disabled! |
warning: ---------------------------------------------------
warning: HTTPS connections may not be secure. See https://aka.ms/gcm/tlsverify for more information.

 

앞으로 Windows에서는 SSL 검증 옵션을 끄지 말고 사설인증서를 "신뢰할 수 있는 루트 인증기관"에 설치한 후 해당 설정을 상속받아 사용하는 방식을 사용하라는 것 같다. (사설인증서를 신뢰할 수 있는 루트 인증기관에 설치하는 방법을 모른다면... 음... 인터넷 찾아 보시길.)

 

즉, 다음과 같은 명령을 사용하면 된다.

 

D:\work> git config --global --unset http.sslverify
D:\work> git config --global http.sslBackend schannel

 

첫 번째 --unset 명령어 대신 git config --global http.sslverify true 로 써도 된다.

 

 



Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]