Git 고급 의자
다음은 Maxence Poutorddev.to/Twitter/GitHub/Linkedin에 따른 일본어 번역입니다.
Git: Cheat Sheet (advanced)
Git가 모르는 일이 있을 때를 대비해 이 작은 저렴한 의자를 만들었어요.git commit
과git pull/push
등 진정한 기본적인 명령은 통과되었음을 주의하십시오.
이 저렴한 의자의 목적은'advanced'의 사용 방법이다.
Git: Cheat Sheet (advanced)
🧭 Navigation - Go to the previous branch
이전 지점으로 돌아가다.git checkout -
🔍 Get the history
제출 기록을 가져옵니다.# 1コミットを1行で表示
git log --oneline
# 全てのコミットメッセージを取得し、'homepage'を含むものだけ抽出
git log --all --grep='homepage'
# コミッターで検索
git log --author="Maxence"
🙈Ooops #1: I reseted an unwanted commit. How to rollback?
나는 불필요한 약속을 했다.어떻게 굴러갑니까?# やったことを一覧表示
git reflog
# 目的のコミットまでリセットする。 下記例ではHEAD@{4}
git reset HEAD@{4}
# もしくは↓でもよい
git reset --hard <commit-sha1>
자세한 내용은 을 참조하십시오.
🤦♀️Ooops #2: I mixed-up with my local repo. How to clean it?
현지 자료고와 한데 섞였다.어떻게 해야 돌려놓을 수 있어요?git fetch origin
git checkout master
git reset --hard origin/master
# masterがorigin/masterと同じになった
🕵🏻♂️Difference between my branch and master
마스터와의 차이를 보고 싶어요.git diff master..my-branch
✔ Custom commits
# 最終コミットメッセージを変更したい
git commit --amend -m "A better message"
# 最終コミットに変更を追加したい、メッセージはそのまま
git add . && git commit --amend --no-edit
# CIビルド等のために空コミットをしたい
git commit --allow-empty -m "chore: re-trigger build"
♻️ Squash commits
최신 제출 세 가지를 요약해 봅시다.
・git commit
· 처음에만'pick'을 유지하고 나머지 부분을'squash'(또는 생략형의's')로 바꿉니다.
· 조직은 메시지를 제출하고':wq'등으로 저장한다.
How to squash commitsWhat's happens when you git rebase -i HEAD~3https://t.co/pTqLV7YVX7님-@YouTube
🎯Fixup
제출fed14a4c
에 뭘 추가하고 싶으세요?p>
git checkout -
# 1コミットを1行で表示
git log --oneline
# 全てのコミットメッセージを取得し、'homepage'を含むものだけ抽出
git log --all --grep='homepage'
# コミッターで検索
git log --author="Maxence"
# やったことを一覧表示
git reflog
# 目的のコミットまでリセットする。 下記例ではHEAD@{4}
git reset HEAD@{4}
# もしくは↓でもよい
git reset --hard <commit-sha1>
git fetch origin
git checkout master
git reset --hard origin/master
# masterがorigin/masterと同じになった
git diff master..my-branch
# 最終コミットメッセージを変更したい
git commit --amend -m "A better message"
# 最終コミットに変更を追加したい、メッセージはそのまま
git add . && git commit --amend --no-edit
# CIビルド等のために空コミットをしたい
git commit --allow-empty -m "chore: re-trigger build"
git add .
git commit --fixup HEAD~1
git rebase -i HEAD~3 --autosquash
# エディタを保存して終了する
🕹Execute command on each commit when rebasing
각
commit
에 대해 명령을 실행하려면p>대규모 기능의 경우 한 지점에서 대량으로 커밋될 수 있습니다.
그런 다음 테스트에 실패했습니다. 유효한 커밋을 확인해야 합니다.
이 경우 rebase --exec
에서 제출할 때마다 명령을 실행할 수 있습니다.p>
# 最後の3コミット全てnpmコマンドが走る
git rebase HEAD~3 --exec "npm run test"
🦋Stash
git stash
과git stash pop
만이 전부가 아닙니다.p># 追跡ファイルを全て保存する
git stash save "your message"
# stashされているリストを表示
git stash list
# 適用して削除
git stash apply stash@{1}
git stash drop stash@{1}
# ↑を1コマンドで実行
git stash pop stash@{1}
🗑 Clean
# リモートに存在しなくなったブランチを削除
git fetch -p
# "greenkeeper"が含まれるブランチを全削除
git fetch -p && git branch --remote | fgrep greenkeeper | sed 's/^.\{9\}//' | xargs git push origin --delete
🐙 GitHub = Git + Hub
으로
git
포장합니다.alias git='hub'
면hub는git명령을 통해 동작한다p># ブラウザでリポジトリを開く
git browse
기타 명령은 Hubp>
🦄 Bonus: my favourite git aliases
경품: 개인의git 별명p>
alias g='git'
alias glog='git log --oneline --decorate --graph'
alias gst='git status'
alias gp='git push'
alias ga='git add'
alias gc='git commit -v'
# 🤘
alias yolo='git push --force'
# useful for daily stand-up
git-standup() {
AUTHOR=${AUTHOR:="`git config user.name`"}
since=yesterday
if [[ $(date +%u) == 1 ]] ; then
since="2 days ago"
뭐 공부 해요?p>
읽어주셔서 감사합니다.br/>
도움이 됐으면 좋겠어요.
하면, 만약, 만약...❤값을 올리다🦄주세요.br/>
또 질문과 댓글을 남겨주세요.p>
원본 기사가 투고되었다여기p>
주석 표시줄
"참고 가치가 있습니다.""너무 좋아요."
"git-standup
좋아요."
"타자를 쳐야 하니까alias gti='git'
."
"같은 merge와 rebase에서 같은 conflict가 나타날 때 자동으로 해결maxpou.fr하는 것이 편리합니다."
"git save
권장하지 않음git push -m
이므로 사용하는 것이 좋습니다.git save
뭐였지?"못 참겠어요. 너무 간략해요. git stash save
대신 git stash push -m
을 쓰라는 말이에요.""완전히 이해했어요."
"나는 이것git rerere이 좋다."
git branch -f master dev_branch
로컬 마스터 덮어쓰기, git push remote +dev_branch:master
원격 마스터 덮어쓰기.
"이런 별명을 사용합니다. gwip
모든 차분을commit, gunwip
복원합니다."p>
gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1'
gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"'
몇 명이 알리어스를 공개했어요.p>
감상
정말요? stash save
deprecate가 됐나요?
하지만 생각해 보면 평소save
는 생략했기 때문에 기본값은 push
p>
gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1'
gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"'
정말요?
stash save
deprecate가 됐나요?하지만 생각해 보면 평소
save
는 생략했기 때문에 기본값은 push
p>그렇다면 이 글은 값싼 의자라기보다는 편리한 명령집이다.
기억하면 긴급한 상황에서 도움이 될 것이다p>
그리고 댓글란의 별명은 참고할 수 있습니다.
저는 git lg 정도밖에 안 썼어요.
그리고 댓글에 올라온 git lga 을 보고 머리에 !
를 넣으면 케이스 명령을 사용할 수 있다는 것을 알게 됐어요.p>
설치가 필요하기 때문에 모든 환경에서 사용할 수 있는 것은 아니며이 별칭 집합도 괜찮다.
git 명령을 덮어쓸 수도 있을 것 같아요. GitHub를 주로 사용하면 가져오기가 편하겠죠.p>
Reference
이 문제에 관하여(Git 고급 의자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rana_kualu/items/42f8b36974eb07e2abb1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)