Git速查表

自己用笔记

删除本地分支

如果要删除我的分支

git branch -d my_branch

“d和D的区别是什么?”

当我看到一个男人的时候,

$ man git-branch
-d, --delete
           Delete a branch. The branch must be fully merged in its upstream branch, or in
           HEAD if no upstream was set with --track or --set-upstream-to.

-D
           Shortcut for --delete --force.

有一个情况。
看起来,当是-d的情况下,原始版本与差异部分之间存在不被删除的情况。
因此,在使用git checkout -b hogehoge创建分支之后,如果发现命名错误之类的情况,最好使用-d。
事实上,通常情况下最好使用-d。

在Git中,只显示文件名的差异。

使用”name-only”。

git diff master --name-only

指定远程分支并进行推送

git push origin ローカルブランチ名:リモートブランチ名

在合并过程中放弃合并并返回到合并开始之前。

git reset --hard HEAD

查找一个文件最后一次更新的提交是哪个。

git log -1 ファイル

展示package.json文件最后一次更新的提交

git log -1 package.json

剩下的就只有這個了

git diff コミットID^ package.json

如果你这样做的话,就能知道最后更新的内容了。

将一个文件分割并提交

    • 変更箇所のまとまりごとにステージに追加するか聞かれるのでy/nで答えていく

 

    さらに細かく行ごとに追加するしないを指定したいときは、eを押してマニュアル編集モードにはいる
git add -p ファイル

查看特定文件的差异。

显示hoge.json的a分支和b分支的差异

git diff a b -p hoge.json

我在编辑时移动了文件而不使用git mv。

在没有使用git mv的情况下,我不小心使用了mv并进行了编辑。我向公司的同事寻求了建议,他们告诉我可以先将文件改回原始文件名,然后再使用git mv。确实如此。

更改本地分支名称

git branch -m 新しいブランチ名

将代码推送到远程主机的目录中。

remote$ mkdir repo
remote$ cd repo
remote$ git init --shared
remote$ git config receive.denyCurrentBranch updateInstead
local$ git remote add myserver ssh://debian@ad02-server/home/debian/aeddrone_viewer
local$ git push myserver master

引用参考链接:https://qiita.com/fukasawah/items/64ccbdab761012aa12a6

打开gitk会导致macOS崩溃。

    • https://stackoverflow.com/questions/39833961/git-gui-command-crashes-on-macos-sierra

 

    macOSに最初からはいってるtcl/tkはだめなので、brewではいるtcl/tkを使えとのことだった
$ brew install tcl-tk
$ brew link tcl-tk --force

在git diff中排除特定文件

将”name-only”与”grep -v”和”xargs”组合使用。

例: 排除以ui/开头的文件,查看特定提交和当前工作目录之间的差异

git diff --name-only <コミットID> | grep -v '^ui\/' | xargs git diff <コミットID> --

将标签检出到分支上。

git checkout -b 作成するブランチ名 refs/tags/チェックアウトしたいタグ
bannerAds