吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3413|回复: 35
收起左侧

[其他转载] git常用命令速查

  [复制链接]
ouyang9r 发表于 2022-3-15 12:21

git常用命令速查

创建版本库

 git clone <url>           克隆远程版本库
 git init                  切始化本地版本库

修改和提交

 git status                查看状态
 git diff                  查看变更内容
 git add                   跟踪所有改动过的文件
 git add <file>            跟踪指定的文件
 git mv <old> <new>        文件改名
 git rm <file>             删除文件
 git rm --cached <file>    停止跟踪文件但不删除
 git commit -m "message"   提交所有更新过的文件
 git commit --amend        修改最后一次提交

查看提交历史

 git log    查看提交历史
 git log -p <file>         查看指定文件的提交历史
 git blame <file>          以列表方式查看指定文件的提交历史

撤销

 git reset --hard HEAD     撒消工作目录中所有未提交文件的修改内容
 git checkout HEAD <file>  撤消指定的未提交文件的修改内容
 git revert <commit>       撤消指定的提交

分支与标签

 git branch                         显示所有本地分支
 git checkout <branch/tag>          切换到指定分支或标签
 git branch <new-branch>            创建新分支
 git branch -d <branch>             删除本地分支
 git tag                            列出所有本地标签
 git tag <tagname>                  基于最新提交创建标签
 git tag -d <tagname>               删除标签

合并与行合

 git merge <branch>                 合并指定分支到当前分支
 git rebase <branch>                行合指定分支到当前分支

远程操作

 git remote -v                      查看远程版本库信息
 git remote show <remote>           查看指定远程版本库信息
 git remote add <remote> <url>      添加远程版本库
 git fetch <remote>                 从远程库获取代码
 git pull<remote><branch>#          下载代码及快速合并
 git push <remote><branch>          上传代码及快速合并
 git push <remote><branch/tag-name> 删除远程分支或标签
 git push--tags                     上传所有标签

免费评分

参与人数 10吾爱币 +7 热心值 +5 收起 理由
ZheCi + 1 我很赞同!
muzhe + 1 谢谢@Thanks!
z76831837 + 1 我很赞同!
傲天越 + 1 谢谢@Thanks!
我是一个外星人 + 1 谢谢@Thanks!
冰冷的冬天 + 1 + 1 我很赞同!
Attacca + 1 + 1 鼓励转贴优秀软件安全工具和文档! 已经处理,感谢您对吾爱破解论坛的支持.
youziai + 1 谢谢@Thanks!
城已空人未散 + 1 谢谢@Thanks!
决不放弃 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

潇洒三叔 发表于 2022-3-15 15:07
我来 补充一些
git cherry-pick
git cherry-pick commitID1 commitID2 // 抓取 commitID1 commitID2 这两条提交记录放到当前分支
如果你想将一些提交复制到当前所在的位置(HEAD)下面的话, Cherry-pick 是最直接的方式了。我个人非常喜欢 cherry-pick,因为它特别简单。
------------
Git Tags
分支很容易被人为移动,并且当有新的提交时,它也会移动。分支很容易被改变,大部分分支还只是临时的,并且还一直在变。
有没有什么可以永远指向某个提交记录的标识呢,比如软件发布新的大版本,或者是修正一些重要的 Bug 或是增加了某些新特性,有没有比分支更好的可以永远指向这些提交的方法呢?
Git 的 tag 就是干这个用的啊,它们可以(在某种程度上 —— 因为标签可以被删除后重新在另外一个位置创建同名的标签)永久地将某个特定的提交命名为里程碑,然后就可以像分支一样引用了。
更难得的是,它们并不会随着新的提交而移动。你也不能检出到某个标签上面进行修改提交,它就像是提交树上的一个锚点,标识了某个特定的位置。
--------------

Git Describe
由于标签在代码库中起着“锚点”的作用,Git 还为此专门设计了一个命令用来描述离你最近的锚点(也就是标签),它就是 git describe!
Git Describe 能帮你在提交历史中移动了多次以后找到方向;当你用 git bisect(一个查找产生 Bug 的提交记录的指令)找到某个提交记录时,或者是当你坐在你那刚刚度假回来的同事的电脑前时, 可能会用到这个命令。

git describe 的&#8203;&#8203;语法是:
git describe <ref>
<ref> 可以是任何能被 Git 识别成提交记录的引用,如果你没有指定的话,Git 会以你目前所检出的位置(HEAD)。

它输出的结果是这样的:
<tag>_<numCommits>_g<hash>
tag_提交次数_g当前的hash
-------------

git bisect
git bisect是一个很有用的命令,用来查找哪一次代码提交引入了错误。
详情可参考 : http://www.ruanyifeng.com/blog/2018/12/git-bisect.html

------------
git blame

查看某行代码由谁写的,在哪个commit中提交的:
git blame fileName
其显示格式为:
commit ID ( 代码提交作者 | 提交时间 | 代码位于文件中的行数 | 实际代码 )
-------------------

选择父提交记录
操作符 ^ 与 ~ 符一样,后面也可以跟一个数字。

但是该操作符后面的数字与 ~ 后面的不同,并不是用来指定向上返回几代,而是指定合并提交记录的某个父提交。还记得前面提到过的一个合并提交有两个父提交吧,所以遇到这样的节点时该选择哪条路径就不是很清晰了。

Git 默认选择合并提交的“第一个”父提交,在操作符 ^ 后跟一个数字可以改变这一默认行为。

有一个合并提交记录。如果不加数字修改符直接检出 master^,会回到第一个父提交记录。
2818441996 发表于 2022-3-15 12:36
决不放弃 发表于 2022-3-15 12:39
我以为是做成了一个软件可以查呢,不过这样也行 收藏了
tigrexz 发表于 2022-3-15 13:06
非常感谢非常感谢
Thankyou 发表于 2022-3-15 13:06
学到了,谢谢分享,
新手学习52破解 发表于 2022-3-15 13:13
不错不错
nulla2011 发表于 2022-3-15 13:18
checkout学一下
雾都孤尔 发表于 2022-3-15 13:28
收藏了,有些命令老是记不住。感谢分享。
PncB2INYyoKw0l9 发表于 2022-3-15 13:35
收藏慢慢看
nihao3312 发表于 2022-3-15 13:37
这样也行 收藏了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表