git config --global user.name "[name]"

git config --global user.email "[email]"

 

Publickey Error

git bash 에서 ssh-keygen 생성 후

C:\Users\계정\.ssh 에서 확인

계정 Settings에서 SSH Keys에서 확인된 key 등록

 

git clone git@gitlab.com:[git repository]

cd [Folder Name]

git add . 진행중 Windows CRLF line ending 오류

Info&Tip

Windows 에서는  line ending으로 CR(Carriage-Return, \r)과 LF(Line Feed, \n)을 사용하고 Unix 나 Mac OS 는 LF 만 사용한다.

이는 상당히 골치아픈 문제를 발생시킨다. 실제 코드는 변경된 게 없는데 소스의 CR/LF 때문에 변경으로 착각하여 commit 을 하게 될 수 있으며 변경 로그를 보거나 merge 마다 문제가 될 소지가 있다.

이런 문제를 방지하기 위해 OS 가 달라도 문제가 없도록 crlf 처리 방법을 결정해야 한다.

해결책

core.autocrlf

git 은 저장소 메타 데이타 디렉터리인 .git 폴더에 모든 이력 데이타를 갖고 있다. 이력 데이타는 key/value 형식의 데이타베이스이며 core.autocrlf 는 text file 을 git object database 에 checkin, checkout 할 때 어떻게 처리할지를 설정하는 변수이다. 

다음 세 가지 설정이 가능하다.

  • core.autocrlf = false. 기본 설정이다. 파일에 CRLF 를 썼든 LF 를 썼든 git 은 상관하지 않고 파일 그대로 checkin, checkout 한다. 이 설정은 line ending 이 다른 OS 에서는 text file 이 변경되었다고 나오므로 위에서 언급한 여러 가지 문제가 발생할 수 있다.
  • core.autocrlf = true text file을 object database 에 넣기전에 CRLF 를 LF 로 변경한다.
  • core.autocrlf = input LF를 line ending 으로 사용한다.

Windows

git config --global core.autocrlf true

Linux, OSX

git config --global core.autocrlf input

git commit -m "Add All[.]"

non-fast-forward 원격저장소와 로컬저장소의 불일치 오류

git pull origin master --allow-unrelated-histories

강제 일치화로 해결

pre-receive hook declined 브런치 권한오류

프로젝트 세팅 -> 저장소 -> Protected Branches 에서 merge/push 권한부여

 

git push -u origin master

 

 

+ Recent posts