git操作总结

git status:

      查看当前分支的操作状态。如果只修改没有添加,使用此命令可能看到红色的提示信息,如果使用了add命令,可能会看到绿色的提示信息,具体颜色可能与系统或终端的不同而不同。

git diff:

       查看当前修改和暂存区的不同

git  reset <HEAD^ or hashID>:

        撤销上一次操作或将HEAD指向指定的hashID值记录处。HEAD^表示回退一步。这种方式HEAD指针真实的向后移动了。

        另外如果使用--hard参数,则HEAD指针反而前进了一步,这种方式可以理解为将制定的记录完全复制到了新的下一个节点处。

git show <hashID>:

        显示指定hashID提交的详细信息

git branch :

        显示已有的分支

git  branch <branchname>:

        创建新分支

git  branch –D  <branchname>:

        删除分支,此时必须位于其他分支

git  branch –a :

        显示本地与远程的所有分支

git checkout <分支名>:

        切换分支   

 

git merge:

        合并分支,在当前分支上创建新节点,快照两个分支的内容并合并。

        下面举例说明:

         merge前在master分支新建了max.c文件,在b1分支新建了min.c文件,在b2分支新建了isequal.c文件。

        首先将在master上merge b1,之后merge b2,最后分别在三个分支继续进行开发,分支示意图如下所示。

git reflog:

       管理reflog信息,显示所有改变HEAD指针的操作记录及其hashID。记录了所有在本仓库的操作记录。

 

git rebase <指定的分支>:

        将当前分支变基到指定的分支。

        举例如下所示:

         在master分支新建文件ahrs.c ,在b1新建ahrs_1.c,在b2新建ahrs_2.c。分别在b1分支和b2分支做基于master的rebase操作。

 

  1. git stash = git stash save:

          将当前分支的修改暂存,当前仓库恢复到最近一次提交状态。

    git stash pop:

          将上一次stash save的内容恢复。

  2.  

    git format-patch -n <id>

            将<id>及之前n次的提交打patch,当n=1时就是当前id的提交;

    git apply --stat xxx.patch

            查看patch

    git apply --check xxx.patch

            检查patch

    git am --signoff < xxx.patch

            应用patch,即打patch到当前工程

posted @ 2020-10-15 22:53  之鹿喵  阅读(113)  评论(0编辑  收藏  举报