提示:文中呈现的 <xx名> 为命名变量,具体按照 xx 区别含义。

提示:文中呈现的 or 为或者的意思,表示有多种用法或者写法。

日常必用指令

1、克隆库房指定分支代码

git clone -b <分支名> https://xxx.com

克隆 test 分支代码

git clone -b test https://xxx.com

2、提交到暂存区

git add -A

这儿多提两个git指令

git add . :他会监控作业区的状况树,使用它会把作业时的一切改变提交到暂存区,包含文件内容修正(modified)以及新文件(new),但不包含被删除的文件。

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修正的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add –update的缩写)

git add -A :是上面两个功用的合集(git add –all的缩写)

3、将暂存区内容添加到本地库房中

git commit -m '提交内容文字描述'

提交 test 分支 主页下用户概况 代码bug修正

git commit -m 'fix 主页 => 用户概况 bug修正'

fix 意思是修补,装置的意思,常用的简写如下(仅仅主张,不是有必要)

"feature", // 新功用 
"fix", // 修正 bug
"docs", // 文档注释
"refactor", // 重构
"revert", // 回退
"build" // 打包

4、服务器向本地同步代码

git pull origin <分支名>

提交 test 分支代码

git pull origin test

5、将本地代码提交到服务器

git push origin <分支名>

提交 test 分支代码

git push origin test

这儿多提一嘴,很多初学者(我)/小公司开发者(我)/夕阳红工业转行作业者(我)都可能在这一步遇到一个小问题: 代码有了冲突,然后控制台显示的页面有点陌生(linux页面),可编辑的部分连文件途径不显示的状况。而且怎么也退不出去,回不去之前控制台,强制关闭又怕代码呈现问题。

这种状况其实看一下linux就非常清楚了(可是很多人不知道这是linux页面)。只需要输入 q 字母,然后回车就可以退出linux系统(有时候是 :q 看具体的终端前面有没有自动加冒号)。

基本上面这些已经够80%的日常开发了,所以,项目比较小,分支少,一个人开发的项目就足够用了。接下来,下面可能是一些杂七乱八的git指令了。

git中tag标签相关

1、班门弄斧:tag的效果

tag 是git库房里面某分支某次commit标记。本质上还是commit的一个别名

a标签做的的锚点(tag),会跳转到页面(git库房)某一位置。具体位置由**id(commit)**来界定。

不明白没关系。后面会有 趣味 拉tag标签代码以及打标签操作。

2、tag标签使用

检查 本地 一切tag

git tag or git tag -l

检查 库房 一切tag

git ls-remote --tags origin

创立 本地 tag

git tag -a <标签名> -m '标签内容文字描述'

创立 库房 tag

将本地tag推送到库房,就成了库房tag

git push origin <标签名>

假如本地tag比较多,一次悉数推送

git push origin --tags

进阶用法,为某个commit后的代码打tag标签

适用场景:近邻组小伙子完结某模块后, 忙着约会没有打tag。导致后面有人提交了commit,需要有人加班帮助补打标签。
心中无女性,代码自然神。周六加班帮助补打完tag的我走在路上,寒风凌烈,是时候买个帽子保护头发了。

检查当时分支的提交历史 里面包含 commit id

git log --pretty=oneline

git tag -a <标签名>

or

git tag -a <标签名> <commitId> -m '标签内容文字描述'

删除本地tag

git tag -d <标签名>

删除库房tag

git push origin :refs/tags/<标签名>

将代码切换到某个标签

git checkout -b <tagName>

实践使用

适用场景:什么,小明又回家逗悠米(狗子)了? test 分支tag又没打?主页 => 用户概况的标签对吗?让我来。(地铁上大家都在看我的帽子,嘿嘿嘿。什么?看我光头?)

git log --pretty=oneline // 得到了commit id'85593cbdebe188a3d28d32003e6175d946971688'

git tag -a v1.0.0.1 85593cbdebe188a3d28d32003e6175d946971688 -m '稳定版别 v1.0.0.1' // 创立完结

or

git tag -a v1.0.0.1 85593cbdebe188a3d28d32003e6175d946971688 -m '主页 => 用户概况 完结后的稳定版别 v1.0.0.1'

git push origin v1.0.0.1 // 推送库房完结

git ls-remote --tags origin // 确认一下,确实成功了

自此,一切的tag相关内容完结了,下面是一些git的其他杂乱无章的指令了。

git杂项指令

1、检查当时本地代码状况(add前和commit前)

git status

2、检查前次代码pull后的一切提交记录

git log

3、从A分支上某次提交同步到B分支上

3.1 切换到A分支而且找到提交id 85593cbdebe188a3d28d32003e6175d946971688

git log --pretty=oneline

3.2 切换到B分支

git cherry-pick 85593cbdebe188a3d28d32003e6175d946971688

3.3 坚持良好习惯

git pull origin B

3.4 提交代码,下班,回家抱娃。

git push origin B

最后,假如文章有什么问题或者是有什么其他想讨论的,大家一定要提出来。谢谢大佬。