Git 고급 의자

처음 그림은 이해하기 쉽기 때문에 제가 소개해 드릴게요.
다음은 Maxence Poutorddev.to/Twitter/GitHub/Linkedin에 따른 일본어 번역입니다.

Git: Cheat Sheet (advanced)


Git가 모르는 일이 있을 때를 대비해 이 작은 저렴한 의자를 만들었어요.git commitgit 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>

2019년 12월 18일


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 stashgit 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는 생략했기 때문에 기본값은 pushp>

그렇다면 이 글은 값싼 의자라기보다는 편리한 명령집이다.

기억하면 긴급한 상황에서 도움이 될 것이다p>

그리고 댓글란의 별명은 참고할 수 있습니다.

저는 git lg 정도밖에 안 썼어요.

그리고 댓글에 올라온 git lga 을 보고 머리에 ! 를 넣으면 케이스 명령을 사용할 수 있다는 것을 알게 됐어요.p>

설치가 필요하기 때문에 모든 환경에서 사용할 수 있는 것은 아니며이 별칭 집합도 괜찮다.

git 명령을 덮어쓸 수도 있을 것 같아요. GitHub를 주로 사용하면 가져오기가 편하겠죠.p>

좋은 웹페이지 즐겨찾기