Git这个东西

这是有关Git(包括GitHub)的一些笔记。

我想在GitHub仓库中添加/删除标签。


// 追加
$ git tag {tag_name}
$ git push origin {tag_name_a} {tag_name_b}

// コミット指定
$ git tag {tag_name} {commit_hash}

// 削除
$ git tag -d {tag_name}
$ git push origin -d {tag_name_a} {tag_name_b}

// ローカルのタグリスト
$ git tag -l

// タグを打ったコミットを確認
$ git show {commit_id}

// リモートのタグリスト(commitID含む)
$ git ls-remote --tags

请参考

https://git-scm.com/book/ja/v1/Gitの基本-タグ
https://stackoverflow.com/questions/25984310/リモートタグを表示する方法

撤销合并提交

在进行合并提交时,需要指定要回退到哪个提交(是上一个合并提交还是之间的提交)。这可以通过 -m 选项来指定。

$ git log
commit <commit_id>
Merge:<1> <2>
$ git revert --no-edit -m 1 <commit_id>

请提供更多的上下文或句子用于参考。

    • GitでMerge CommitをRevertする方法

 

    • git revert で複数コミットを打ち消す

 

    【 git revert 】コマンド

我想要将工作目录切换到特定的提交。

$ git checkout <SHA>

请查阅

    コミットを指定してチェックアウトする

我想要将子模块更新为远程分支的内容

在克隆包含子模块的特定仓库之后的情况下。
当执行git submodule add时,这个操作不会在提交中体现出来,所以可以切换到一个新分支进行操作,这样就可以在历史记录中保留下来。


// 対象submoduleの登録
$ git submodule add git@github.com:{user_name}/{repository_name}.git {dirctory_name}
'dirctory_name' already exists in the index

// 一度ディレクトリをアンステージする必要性があるらしい
$ git rm -r {dirctory_name}

// 再度登録
$ git submodule add git@github.com:{user_name}/{repository_name}.git {dirctory_name}

将所有的差异合并到 master 上。

$ git pull origin master
$ git checkout -b branch-b
$ git rebase master
$ git checkout --ours <filename>
$ git rebase --continue

我希望得到一个文件列表来显示变更差异。

$ git log --name-only

想要回滚git操作

$ git reflog
$ git reset --hard HEAD@{5}

我想获取已更改的文件列表。

$ git log --name-only 

$ git log --name-only --oneline
广告
将在 10 秒后关闭
bannerAds