提示:文中呈现的 <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
最后,假如文章有什么问题或者是有什么其他想讨论的,大家一定要提出来。谢谢大佬。