2.16 부터 기본 동작이 되었다는데, 나는 불편하다. 끄자.
git config --global pager.branch false
참고: https://stackoverflow.com/questions/48341920/git-branch-command-behaves-like-less
2.16 부터 기본 동작이 되었다는데, 나는 불편하다. 끄자.
git config --global pager.branch false
참고: https://stackoverflow.com/questions/48341920/git-branch-command-behaves-like-less
Git에서는 @{}
표기법을 사용하여 다양한 브랜치 및 커밋 참조를 지정할 수 있습니다. 여기서 몇 가지 일반적으로 사용되는 표기법을 설명하겠습니다:
@{u}
또는 @{upstream}
: 현재 브랜치의 upstream 브랜치를 가리킵니다. 예를 들어, main
브랜치의 upstream 브랜치가 origin/main
인 경우, main@{u}
또는 main@{upstream}
는 origin/main
을 가리킵니다.@{1}
또는 @{2}
등의 숫자: 브랜치의 이전 위치를 가리킵니다. 예를 들어, main@{1}
은 main
브랜치의 바로 이전 커밋을 가리킵니다.@{yesterday}
또는 @{1.week.ago}
와 같이 시간 범위를 지정할 수도 있습니다. 이를 통해 특정 시점의 커밋을 가리킬 수 있습니다.@{commit-hash}
: 직접 커밋 해시(해당 커밋의 고유 식별자)를 지정하여 특정 커밋을 가리킬 수 있습니다.@{branch-name}
: 특정 브랜치의 위치를 가리킬 수 있습니다.이러한 표기법을 사용하면 Git에서 다양한 상황에서 브랜치, 커밋 및 이력을 참조할 수 있으며, 특정 시점이나 이전 위치에 대한 정보를 쉽게 얻을 수 있습니다.
tag push
git push origin <TAG명>
tag delete
git push origin :<TAG명>
git에서 repository에 파일은 추가해서 두고 싶지만 해당 파일이 빌드 중 변경되는 등의 이유로 변경은 무시하고 싶은 경우가 있다. 이런 경우 .gitignore에 추가해도 repository에 추가된 파일이므로 변경을 계속 추적하게 된다. 이 변경을 무시하고 싶다면 다음 명령을 주면 된다.
git update-index --assume-unchanged <file>
위 명령을 주면 해당 파일은 변경되어도 git status를 해도 나오지 않고 무시된다. 그러므로 주의해야 한다. 해당 파일을 다시 추적하고 싶다면 다음 명령을 입력한다.
git update-index --no-assume-unchanged <file>
git bisect start <bad> <good>
후 git bisect run <command>
로 찾는다.
다음과 같이 하면 diff 시 whitespace 에러가 강조되어 보인다.
git config --global diff.wsErrorHighlight all
$ git config --global url.git@github.com:.insteadOf https://dasomoli@github.com/
$ go get github.com/dasomoli/private-repo
참고: https://stackoverflow.com/questions/27500861/whats-the-proper-way-to-go-get-a-private-repository
~/.bashrc 에 다음을 추가.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
# PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\]$ "
public project를 가져와서 혼자 몰래 뭘 해보고 싶을 때, Apache 2.0 License 등 derived works의 source code 공개 의무가 없는 프로젝트의 경우 private으로 바꿔서 작업을 해볼 수 있다.
다음과 같이 한다.
먼저 만들고 싶은 이름으로 github에서 project를 하나 private으로 만든다.
$ git clone --bare https://github.com/publicproject/project.git
$ cd project.git
$ git push --mirror https://github.com/myname/myproject.git
그리고 나서 실제로 clone해서 쓰면 된다.
$ git push https://github.com/myname/myproject.git
최신 코드로의 업데이트는 public repository를 여기다 remote로 추가해서 fetch & rebase하면 된다.
push는 public으로 fork해온 후 거기다 push 해서 pull request하면 될 듯.
참고: https://medium.com/@bilalbayasut/github-how-to-make-a-fork-of-public-repository-private-6ee8cacaf9d3
git remote branch를 삭제하고 싶을 때.
$ git push --delete origin new_ko_KR_translation