GIT笔记
整理提交 git rebase -i 或者 git commit –amend
当需要删除或修正不必要的提交时,例如添加遗漏的文件之类的提交。
# 1つ前のコミットを書き換える方法
$ git commit --amend -m "書き換えたいメッセージ"
# 書き換えないで追加する方法
# git add 追加したいファイル
# git commit --amend --no-edit
# それ以外のコミットを書き換える方法。(もちろん直前も可)
$ git rebase -i コミットID
# するとエディタが起動
pickと書いてあるところをeditやdropなどコマンドの説明に書いてあるように編集し、保存。`:wq`
-----コマンド一覧に従う↓
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
-----
→ editとした場合、また編集のエディタが起動し、コミットの内容を書き換えることができる。
如果有人删除了远程分支
#リモート上の削除されたブランチがあるかどうか確認
$ git remote show origin
#リモート上の削除されたブランチをローカルから消す
$ git fetch --prune
又は
$ git pull --prune
- 上記がめんどくさい場合git configに設定
#グローバルに設定。--prune付きでfetchとpullが実行されるようになる。
$ git config --global fetch.prune true
$ git fetch
寻找罪犯
通过使用git blame命令,可以得知每行代码被最后一次修改的提交。
$ git blame ファイル名
# インデントコミットを無視
$ git blame -w
# 他
# `-L` オプションで行数を指定できる
不提交变更而将其暂存
# saveはなくてもOK
$ git stash save
# 新規ファイルも含めて保存
$ git stash -u
# 保存したものを確認
$ git stash list
stash@{X}がstashの名前。WIP onのあとはブランチ名
# 戻す
$ git stash apply stash@{0}
stash名を指定しない場合は、直近に退避された変更を戻す
# ADDされた状態で戻す場合はindexをつける
$ git stash apply stash@{0} --index
# 削除する
$ git stash drop stash@{0}
# すべて削除する
$git stash clear
# 戻す&削除はpop。らくちん
$ git stash pop stash@{0}
一篇能增进对Git理解的文章
尽可能准确地理解Git仓库的内容