[Git] Tips

spring·2020년 11월 9일
0

1.basic usage

git add -A
git commit -m "message"
git push origin master

2.git-lfs (안쓰는게 좋다)

Github에는 100MB 이상의 파일을 기본적으로 올릴수 없게 되어 있다.

그렇다고 의존 모듈을 안올릴 수도 없다.

사실 좋은 방법은 Dropbox 같은데 올려놓고 다운받는 스크립트를 넣어주는 것인데, 귀차니즘이 따른다.

그래서 Git-lfs 를 사용한다.

https://git-lfs.github.com/ 에서 다운받고 설치할 수 있다.

사용법은 간단하다. 먼저 git repository folder에서 아래의 command로 lfs를 설치한다.

git lfs install

그리고 용량이 100MB가 넘는 파일을 관리 대상으로 등록한다.

git lfs track "*.dll"

이는 확장자가 dll인 모든 파일을 lfs 관리 대상으로 등록한 경우이다.

이미 commit을 해서 경고를 보았다면, 일단 100MB가 넘는 파일을 없애고 Push 한뒤에 다시 시도하는게 속 시원하다.

3. main language

git에는 대표언어가 설정되는데, 이는 자동으로 소스를 분석해서 해당 대표 언어를 선택하는 방식이다.
언어 관리를 제외할 폴더를 .gitattributes 폴더에 작성한다.

include/* linguist-vendored

위 구문은 include폴더내의 소스는 언어 분석에 사용하지 않겠다는 뜻이다.

4. gitignore

작성하는거야 어렵지 않고, 이게 적용이 안될땐 git cache를 없애 줘야한다.

git rm -r --cached .

5. upload script

set /p msg=Input commit message : 
git add -A
git commit -m "%msg%"
git push origin master

6. Linux git pull without password

아래의 명령어를 치고, git push 할 때 한번만 ID와 PW를 치면 다음부터 자동으로 push가 된다.

git config --global credential.helper 'cache --timeout=1000000'

7. gitattributes

Windows only

배치파일 같이 윈도우 전용 코드는 아래의 옵션으로 반드시 개행에 crlf 가 들어가야 한다.

*.bat eol=crlf

Linux only

8. Branch

브랜치 보기

git branch

브랜치 생성

git branch <name>

브랜치 이동

git checkout <name>

병합(master 에 한다고 가정)

git checkout master
git merge <name>

브랜치 업데이트

# 해당 브랜치를 master와 같도록 변경
git rebase master

9. submodule update

git submodule update --remote --recursive

10. git 전체 코드 줄 수

git ls-files | xargs cat | wc -l
profile
Researcher & Developer @ NAVER Corp | Designer @ HONGIK Univ.

0개의 댓글