zoukankan      html  css  js  c++  java
  • git 常用命令--Linus Torvalds

    1.git log 

       显示仓库的历史记录,默认显示所有记录,

       1)git log -m,显示最近的几次提交,, 

       2)git log --pretty=oneline  显示提交hash和注释

    -p 按补丁格式显示每个更新之间的差异。
    --stat 显示每次更新的文件修改统计信息。
    --shortstat 只显示 --stat 中最后的行数修改添加移除统计。
    --name-only 仅在提交信息后显示已修改的文件清单。
    --name-status 显示新增、修改、删除的文件清单。
    --abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
    --relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
    --graph 显示 ASCII 图形表示的分支合并历史。
    --pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

    2.git reflog 查看命令历史

    3.git reset

        1)git reset --hard HEAD^ 回退到当前的上一个版本

          用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

        2) git reset --soft HEAD^ 回退到当前的上一个版本,但是内容放回到仓库中,这个命令常用于合并多次提交为一次,或者制作补丁用

    4.git branch 创建分支

         1)git checkout -b dev hash 在某个点上创建dev分支,并切换到dev分支

        2)git branch 查看分支

        3)git branch -d dev 删除分支

        4)git push origin  :remote-branch-name  删除远程分支,:前面的空格不能省,原理是push一个空分支到远程的对应分支,相当于删除

    5.git remote 管理仓库地址 

        1)git remote -v   查看仓库地址

        2)git remote add test1 xxx  添加一个仓库地址

        3)git remote rename test1 test2 

        4)git remote set-url test2 xx2  修改url

    6.git pull 拉仓库

        1)git pull remotename branchname 拉指定仓库

    http://blog.csdn.net/wfdtxz/article/details/8632811

    7.git commit 提交

         1)git commit -m "message" -- file1 file2 ...   提交多个文件

         2)git commit -m "message" . 提交本目录下的所有文件

        3)git commit -m "message" -- folder

    -a 所有文件

    --amend 修改上次修改

    --allow-empty-message -m ""

    7.git push 推送仓库

         git push <远程主机名> <本地分支名>:<远程分支名>

        git push origin master

    8.git stash 暂时存储修改 

         1)git stash 保存工作现场

         2)git stash pop 弹出最上面一个stash并删除

         3)git stash list 查看stash列表

         4)git stash apply stash@{0} 应用某个stash但是不从list中删除

    9.git tag  制作标签

        1) git tag 查看标签

          2)git tag v0.1 xxx  在某个点上创建v0.1的标签

          3)git tag -d v0.1 删除v0.1tag

          4)git push origin v0.1 推送tag到远程

          5)git push origin --tags 推送本地的所有标签

          6)git push origin :refs/tags/v0.1 删除远程的v0.1标签

    10. git clean 清除

         -f 强制删除 -d 目录 -x 删除不在版本库的包括忽略的文件,  -X 删除仅仅忽略的文件

    11. git 配置别名

         1) git config --global alias.st status   ==>> git st

         2) git config --global alias.co checkout  ===>>git co 

         3) git config --global alias.ci commit  ===>>git ci

         4) git config --global alias.br branch   ====>>git br

    12.git format-patch git补丁应用

         1)git format-patch 365a...4e16  两次提交直接的补丁,可能有多个

         2)git format-patch -n 07fe 某次提交之前的几次提交

      应用补丁     

        3)git apply --stat newpatch.patch 检查patch文件

          4)git apply --check newpatch.patch 检查能否应用成功

          5)git apply --reject newpatch.patch 合并没有冲突的,有冲突的产生.rej 文件,原始文件不修改

          5)编辑冲突文件,修改提交

          6)git am --resolved 标记解决了

    13.git diff 标准补丁

         1) git diff master..test --binary  只显示两个分支间的差异,

      -- ./lib 加上限定符,只比较某个目录

       Linux下的diff命令 diff  -uN f1 f2 

         2) git apply --check 检查补丁   --check 检查补丁, 没有check直接应用补丁

         3)patch -p1 patchfile 补丁文件 如果有冲突会生成三个文件,.orig是原始文件,.rej是冲突的修改地方.另一个是修改后的文件

    diff --git a/test1/b.txt b/test1/b.txt
    index e69de29..36aa66d 100644
    --- a/test1/b.txt
    +++ b/test1/b.txt
    @@ -0,0 +1 @@
    +12323
    

     -p 指定目录级别,-p0 使用完整路径,-p1 去除前导斜杠,留下test1/b.txt, -p2 剩下b.txt

     -R 反不掉,可以对这次的补丁恢复回来  

       应用补丁冲突 http://www.fwolf.com/blog/post/448

    14.git bisect 二叉树定位版本错误

         1)git bisect start 

         2)git bisect bad 

         3)git bisect good xxx

         4)git bisect reset 最后完成,回到当前位置

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    http://git-scm.com/docs/gittutorial

  • 相关阅读:
    Eclipse无法启动报An internal error occurred during: "reload maven project". java.lang.NullPointerExceptio错
    axios拦截器
    antd 之TimePicker设置禁用时间
    使用dva和ant-design组件在IE中的兼容问题记录
    Electron对JQuery的支持
    将本地项目上传到github时,问题总结
    ‘时间等待’加载处理
    6、模块和包的导入
    1、python的安装
    3、简单小程序练习
  • 原文地址:https://www.cnblogs.com/chuanwei-zhang/p/4436612.html
Copyright © 2011-2022 走看看