서로 바뀐 내용이 충돌되서 pull이 되지 않는 경우입니다.

해결 방법은 매우 간단합니다.

git add -A
git stash
git pull

 

프로젝트 폴더에서 즉, .git이 존재하는 폴더에 .gitignore 파일를 만듭니다.

vi .gitignore -> 'i' 입력 -> push를 원하지않는 파일 입력 -> :wq를 눌러 나가기

# .idea
*.idea

# .ipynb_checkpoints
*.ipynb_checkpoints

# etc.
*.jar
*.war
.DS_Store
file.xml

위처럼 *.확장자명을 입력하면, 해당 확장자명을 가진 파일을 push하지 않습니다.

후에 아래처럼 다시 commit합니다.

git rm -r --cached .
git add .
git commit -m "git add ignore"
git push (origin master)

 

다음 사이트를 통해 자동으로 위 내용을 생성할 수 있습니다.

www.toptal.com/developers/gitignore

깃허브의 저장소에 100MB 이상의 파일을 push 하게 되면 에러가 발생하게 됩니다.

이러한 대용량 파일을 업로드하기 위해서 git-lfs 를 설치해주면 된다.


1. 먼저 다음 사이트에서 git-lfs를 다운로드한다.

https://git-lfs.github.com/

2. 'git lfs install'을 입력한다.

Updated git hooks.
Git LFS initialized.

3. 'git lfs track "*.확장자명"' 을 입력한다.

예를 들어, 대용량의 json 파일을 업로드하길 원한다면 다음과 같이 입력하면 되겠다.

  • git lfs track "*.json"

아마 위의 명령어를 실행하였다면, 해당 폴더에 .gitattributes 파일이 생겼을 것이다.

4. 이 다음으로는 기존 push 하는 과정과 동일하다.

  • git add .
  • git commit -m "message"
  • git push origin master

5. 위와 같은 과정을 거쳤음에도 불구하고 또 다시 에러가 뜬다면, 이미 이전에 대용량 파일을
    업로드한 로그가 남아있어서 그렇다.

5-1. 먼저 다음 사이트에서 .jar file을 다운로드한다.

https://rtyley.github.io/bfg-repo-cleaner/

5-2. 다음 명령어를 실행한다.

  • java -jar bfg-x.xx.xx.jar --strip-blobs-bigger-than 100M

xx는 본인이 다운로드받은 버전을 입력해주면 된다.

Git을 사용할 때, 주로 사용하는 용어들이 있습니다.

checkout, branch, commit 등등.

하지만 매번 일일히 풀네임으로 적어주기가 귀찮습니다.


Alias 설정하기

이런 경우 사용하는 기능이 git alias입니다.

$ git config --global alias.br branch

위는 branch 용어를 br로 줄여주는 코드입니다. 다른 용어들도 위처럼 똑같이 설정해주시면 됩니다. 

다음은 git을 사용하는 개발자들이 주로 사용하는 용어들을 나열한 것 입니다.

$ git config --global alias.co checkout
$ git config --global alias.rb 'rebase -i'
$ git config --global alias.st status
$ git config --global alias.ad add
$ git config --global alias.co commit
$ git config --global alias.br branch

또는 이와 다르게 자신이 편한 방식으로 설정하면 됩니다. 

저는 극단적으로 'push origin master'를 pom으로 줄여서 사용합니다.

 

Alias 목록 살펴보기

$ git config --get-regexp alias

위를 커맨드에 입력해보면 안에 기본적으로 alias.acm 등이 있습니다. 확인해보고 이를 사용하는 것도 매우 편합니다.

 

Alias 삭제하기

$ git config --global --unset alias.br

 

Alias 파일에 직접 추가하기 

$ vim(open) ~/.gitconfig

위를 커맨드에 입력하여 파일에 직접 들어가서 그림의 alias부분처럼 직접 수정해주셔도 됩니다. 

git을 활용하여 블로그를 만드는 경우는 직접 페이지를 꾸며줘야하는 매우 진입장벽이 높은 블로그입니다. 

대신, 한번 꾸며놓으면 다른 블로그에 비해 상당히 편리함을 제공해주기도 합니다.


jekyll 테마 사이트 : http://jekyllthemes.org

 

Jekyll Themes

 

jekyllthemes.org

이번 글에서는 Lanyon이라는 테마를 활용하도록 하겠습니다.

Lanyon github : https://github.com/poole/lanyon

 

poole/lanyon

A content-first, sliding sidebar theme for Jekyll. - poole/lanyon

github.com

다른 지킬 테마는 gemfile을 포함하고 있기 때문에, 저장소를 만들어서 username.github.io로 바꿔주기만 하면 됩니다.

하지만 Lanyon은 그렇지 않기때문에 별도의 추가 작업이 필요하게 됩니다. 이를 추가하여 다루겠습니다.

 

1. Lanyon을 fork합니다.

2. 오른쪽 상단의 초록색 버튼에서 git url을 복사하여 저장소를 clone해줍니다.

git clone 'copyurl'

이제 여러분의 임의의 경로에 git 저장소가 생겼음을 볼 수 있습니다.

(물론 당연히 저장소의 이름은 username.github.io로 되어 있어야 합니다.)

3. 테마 적용을 위한 파일을 가져오기 위해 새로운 지킬 테마를 만들겠습니다.

이를 위해 jekyll을 설치해야 합니다. --> (sudo) gem install jekyll

bundler도 설치해줍시다. --> (sudo) gem install bundler

임의의 경로에서 jekyll new test를 입력하면, 다시 새로운 테마를 위한 여러 파일이 생깁니다.

이 파일을 원래 우리의 저장소에 전부 붙여넣기 해줍니다.

4. jekyll serve 로 작업이 성공했는지 확인합니다.

http://localhost:4000로 들어가면 본인의 테마가 적용되었음을 확인할 수 있습니다.

5. git에 push하여 해당사항을 적용해줍니다.

git add --all

git commit -m "init blog"

git push origin master

마지막으로 username.github.io를 들어가서 배포된 것을 확인해봅시다.

 


Please append '--trace' to the 'serve' ~ 의 에러는 복붙이 잘못됫다거나 파일을 잘못만든 경우입니다.

사실 구체적으로 어떤 해결법이 있는지는 모르겠지만, 처음부터 다시 시도해보는게 가장 빠른 것 같습니다.

 

Could not find gem '~~~' 의 에러는 해당 모듈이 없음을 의미합니다.

(sudo) gem install 모듈로 설치해주면 됩니다.