美文网首页
git操作高级命令

git操作高级命令

作者: 月剪西风 | 来源:发表于2019-10-21 14:35 被阅读0次

Git 是一款开源优秀的版本管理工具,它最初由 Linus Torvalds 等人开发,用于管理 Linux Kernel 的版本研发。相关的书籍和教程网上琳琅满目,它们多数都详细的介绍其基本的使用和命令。本人根据自己的经验,整理出几个较为高级而常用的命令。

推荐资料 Git Book

Git blame

Git blame 可以查询每一行代码的 commit ID、提交者和提交日期。

git blame nova/api/openstack/compute/servers.py

git blame 命令后面需要跟上查询的文件全路径

Git show

确切的说,Git show 并非是一个高级命令,只是它经常配合 git blame,从而查询整个 patch。

$ git show 5b866f3a

 
diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py
index 5def03f..e96c42a 100644
--- a/nova/api/openstack/common.py
+++ b/nova/api/openstack/common.py
@@ -334,6 +334,21 @@ def get_networks_for_instance(context, instance):
     return networks
 
+class MetadataDeserializer(wsgi.MetadataXMLDeserializer):
+    def deserialize(self, text):
+        dom = minidom.parseString(text)
+        metadata_node = self.find_first_child_named(dom, "metadata")
+        metadata = self.extract_metadata(metadata_node)
 

Git reflog

Git reflog 记录了 git 某个分支的每次操作,通常用来恢复误操作影响的数据。

 $ git reflog
 
 1dcfb0f HEAD@{0}: reset: moving to 1dcfb0f
d5640a9 HEAD@{1}: checkout: moving from test to master
1dcfb0f HEAD@{2}: checkout: moving from icehouse to test 
 
$ git reset d5640a9

Git cherry-pick

Git cherry-pick 可从其它分支抓取 commit 合入当前分支中,常用于从 upstream 合入 patch。意思就是获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上,
当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git cherry-pick了。

$ git cherry-pick -x commit_id

Git rebase

Git rebase 无疑是最为复杂、最难以理解,当然也是非常强大的命令,常用于合并分支,可以简单的理解为一系列的 git cherry-pick,它具有以下功能。

合并分支
重新修改 Commit,如合并 commit,调整 commit 的顺序。
Git rebase 用法请见 Git Book,但是使用时,请注意以下准则:

The golden rule of git rebase is to never use it on public branches.
不能将git rebase 用于已经发布到远程的公共分支!

git branch | grep 'feat' | xargs git branch -d

删除所有的feat开头的分支
在日常的开发,组合命令的使用带来事半功倍的效果,大规模项目的开发中,经常会有很多临时特性分支,在迭代结束之后通常需要删除,就可以使用上面的命令进行删除

  • git branch 获取到所有的分支
  • grep feat 查询feat关键的分支
  • xargs 将查询分支作为参数输出给git branch -d

相关文章

  • GIt 操作补充

    常用的git操作命令 常用的git操作命令已经能够满足日常的工作需求 现补充一些高级命令 git branch -...

  • git操作高级命令

    Git 是一款开源优秀的版本管理工具,它最初由 Linus Torvalds 等人开发,用于管理 Linux Ke...

  • git分布式版本库管理

    跳转查看另外文章【高级git命令总结版】 前言:Git操作好在会一路提醒(操作结果,撤销提醒,配置提醒等),本文章...

  • git高级命令和操作

    -am中的a是什么意思 这两个add命令有相同的作用 可以指向指定版本号进行项目回滚 如何使用github pag...

  • Git解决代码修改冲突

    Git 操作说明 Git下载项目 操作命令 Git上传提交 操作命令 Git解决同一文件多人修改冲突 操作步骤

  • git 命令

    一、git 操作命令 1. 基本命令 (顺序操作) git init 初始化一个git仓库 git stat...

  • Git 命 令 大 全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github[http...

  • Git的常用命令

    一、Git简易操作 git操作手册(命令行git bash) 最简单易懂的git操作廖雪峰git教程Pro Git...

  • 2019-01-15

    git reset和git revert命令 atom blog git revert是撤销某次操作,此次操作之前...

  • git命令大全

    Git常用操作命令: 远程仓库相关命令检出仓库:$ git clone git://github.com/jque...

网友评论

      本文标题:git操作高级命令

      本文链接:https://www.haomeiwen.com/subject/ozstvctx.html