当前位置:首页 > 时尚生活

git命令 12个Git高级命令

1.使用rebase而不是merge来提取上游修改

将分支机构合并记录为合并提交是有意义的。例如,通过这种方式,可以识别出一个新的特征被合并到发布分支中。然而,当多个团队成员在一个项目上工作,并使用传统的git pull来同步分支时,提交时间表将被不必要的合并提交所污染。更好的方法是使用git rebase将一个特性分支基于主分支:

$ git结账功能

$ git rebase master

这样做将把整个特征分支移动到主分支的开始,这将合并主分支上的所有新提交。但是,通过为原始分支中的每个提交创建一个新的提交,更改基础将重写项目历史,而不是使用合并提交。换基地的主要好处是你会获得更干净的项目历史。此外,还有一些关于变基陷阱的讨论。

2.执行git rebase后解决合并冲突

就像能力越大,责任越大。执行git rebase时,可能会遇到合并冲突。合并冲突意味着两个提交修改了同一个文件的同一行,Git不知道应该应用哪个修改。这将导致如下错误消息:

Git会给你三个选项来修复导致冲突的提交(fa39187):

可以运行git rebase --abort来完全取消变基。这么做会取消变基修改,并将分支置回到执行git rebase之前的状态。可以运行git rebase --skip来完全忽略该提交。这样,有问题的提交所引入的变化就不会被添加到历史中。可以使用与合并冲突相同的标准步骤来解决冲突。

3.临时保存和修改

工作进行中,有些事情往往处于一种凌乱的状态。如果此时需要切换到不同的分支机构呢?Git不允许您这样做,因为有未保存的更改。坦白说,你不想提交半成品,以后再修改。这个问题的解决方案是使用git stash命令。Stash将接收工作目录的当前状态(例如,修改后的跟踪文件和暂存区的修改等)。)并保存在未完成的修改栈中,以便以后随时修改。您可以通过以下命令暂时保存您的工作:

$ git stash

已保存工作目录和索引状态在制品功能:3fc175f修复竞争条件

海德现在处于3fc175f固定比赛状态

现在工作目录是干净的:

$ git状态

#分支功能

没有要提交的内容,工作目录干净

这个时候换分支做其他事情是安全的。不过不用担心,暂时的臣服还在:

$ git隐藏列表

stash@{0}: WIP on功能:3fc175f修复竞态条件

稍后,返回特征分支后,您可以检索所有临时更改:

$ git stash pop

分支特征

未提交的更改:

(使用“git add ...”更新将要提交的内容)

修改:index.html

已删除refs/stash @ { 0 }(AC 2321 C3 a 33 ba 712 b 8 e 50 c 99 a 99 D3 c 20 da 9 D6 b 8)

还有其他可供转移的选项,如下所示:

$ git stash save " description it " #给stash起个名字

$ git stash clear #删除一个隐藏的提交

$ git stash save - keep-index #仅存储未存储的文件

4.克隆特定的远程分支

如果我想从远程存储库中克隆一个特定的分支,我应该怎么做?通常您会使用git clone,但是这样做会将所有其他分支一起克隆。一个方便的方法是使用git远程添加:

$ git init

$ git远程add -t -f原点

$ git结帐

5.将精选远程提交合并到自己的分支中

更何况只是想把远程仓库的某个特定提交合并到自己的分支,怎么办?您可以使用git cherry-pick来选择给定SHA值的提交,然后将其合并到当前分支中:

$ git精选

6.从不相关的本地仓库应用补丁

需要将另一个不相关的本地仓库提交的补丁应用到当前仓库,怎么办?答案是以下命令:

$ git - git-dir=/。git格式-patch -k -1 - stdout | git am -3 -k

7.忽略跟踪文档中的更改

如果您和您的同事正在操作同一个分支,很可能需要频繁执行git合并或git rebase。但是,这样做可能会重置一些与环境相关的配置文件,这些文件需要在每次合并后进行修改。相反,您可以通过以下命令永久地告诉Git不要使用本地文件:

$ git更新-索引-假设-不变

8.每x秒运行一次git拉

通常,合并冲突的原因是您工作的本地仓库不再反映远程仓库的当前状态。这就是为什么我们每天早上必须首先执行git拉。此外,您可以在后台通过脚本(或使用GNU Screen)每x秒调用一次git pull:

$屏幕

$ for((I = 1;i<。=10000;I+= 1));做睡眠X & amp& ampgit pull行

9.将子目录分成新的仓库

有时,您可能需要将Git存储库中的特定目录转换成一个全新的存储库。这可以通过git过滤器分支实现:

$ git筛选器-分支-清理-空-子目录-筛选器主文件

#将主分支筛选到您的目录,并删除空提交

重写48dc 599 c 80 e 20527 ed 902928085 e 7861 E6 B3 CBE 6(89/89)

Ref 'refs/heads/master '已重写

存储库现在包含指定子目录中的所有文件。虽然之前的所有文件都会被删除,但它们仍然存在于Git历史中。现在,您可以将新的本地仓库推送到远程位置。

10.清理

有时,Git会提示“未跟踪的工作树文件”和“被签出覆盖”。造成这种情况的原因有很多。但是,一般来说,我们可以使用以下命令来保持工作树的整洁,以防止这种情况发生:

$ git clean -f #移除未跟踪的文件

$ git clean -fd #删除未跟踪的文件/目录

$ git clean -nfd #列出所有要删除的文件/目录

11.将项目文件键入tar包,并排除。git目录

有时,您需要向无法访问GitHub存储库的外部成员提供项目的副本。最简单的方法是使用tar或来打包所有的项目文件。然而,如果你不小心,隐藏。git目录将包含在tar文件中,这将导致更大的文件大小;同时,如果其中的文件与接收者自己的Git库混淆,那就更麻烦了。很容易自动排除。tar文件中的git目录:

$ tar cJf .tar.xz / -排除-vcs

12.找到修饰符

最后,如果出现混乱,一定要想清楚是谁造成的。如果生产服务器宕机,很容易找到罪魁祸首:只需执行git责备。该命令将显示文件中每一行的作者,并提交哈希以找出该行的最后修改,您还可以看到提交的时间戳:

$ git责备

1.《git命令 12个Git高级命令》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《git命令 12个Git高级命令》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/757032.html

上一篇

侯耀文女儿 与侯耀文相爱11年,转身嫁给“侄儿”戴志诚的袁茵,如今怎么样了

下一篇

越南有多大可能威胁中国 越南有多大可能威胁中国?这组数据真相太残忍

什么是二级域名 二级域名和子目录有什么区别?

什么是二级域名 二级域名和子目录有什么区别?

二级域名是指互联网DNS级别的顶级域名下的域名,即与主域名分离的域名。理论上讲,一个主域名下可以有无限个二级域名。搜索引擎倾向于将二级域名视为独立网站,同时根据需要将一部分主域名的评估结果传递给二级域名。使用二级域名会增加同一域中的站点数量,但每个站点的大小会减小。...

新版北京禁限目录 北京产业禁限目录将修订 今年疏解176家市场和物流中心

新版北京禁限目录 北京产业禁限目录将修订 今年疏解176家市场和物流中心

今年是实现京津冀协调发展中期目标的第一年。京津冀协同发展会有哪些新举措?昨天,在十五届全国人大一次会议第二次新闻发布会上,市发改委党组成员、京津冀合作办副主任刘透露,在2014年和2015年新增行业禁入目录的基础上,今年我市将继续修订完善禁入目录,进一步规范、细化和...

会计证取消了怎么上岗 国家职业资格目录出炉背后的故事 会计证被取消又“起死回生”

会计证取消了怎么上岗 国家职业资格目录出炉背后的故事 会计证被取消又“起死回生”

人力资源和社会保障部近日公布了全国职业资格目录,包括教师、注册会计师等140项职业资格。其中41个专业资格被录取,也就是说必须持证上岗。根据要求,目录外不允许或不承认职业资格。早在职业资格名单公布的时候,就在很多行业引起了不小的轰动。围绕着这个目录的出版,发生了很多...

国家职业资格证书目录 140个职业列入国家职业资格目录 除此之外不得要求准入证上岗证

国家职业资格证书目录 140个职业列入国家职业资格目录 除此之外不得要求准入证上岗证

人力资源和社会保障部前天公布了全国职业资格目录,其中列出了140项职业资格。今后只能对目录中所列的职业进行职业资格许可和认可,所有没有法律法规依据的准入许可和就业证明一律取消。人力资源和社会保障部前天公布了国家职业资格目录,140项职业资格被列入其中 新华社职业资格...

高职高专专业目录 【专业目录】2017年高等职业教育(专科)专业设置目录,哪个专业你最心仪?

高职高专专业目录 【专业目录】2017年高等职业教育(专科)专业设置目录,哪个专业你最心仪?

又要填高考志愿了。今天我们来看看高职院校的专业。  目前的高职专业是2015年和2016年修订设立的。根据《教育部关于印发普通高等学校高等职业教育(专科)专业设置管理办法的通知》和《普通高等学校高等职业教育(专科)专业目录(2015年)》及《2016年高等职业教育(...

苹果电脑怎么解压文件 苹果电脑如何才能支持RAR压缩包

苹果电脑怎么解压文件 苹果电脑如何才能支持RAR压缩包

在Windows电脑上使用RAR压缩包是合适的,但是在苹果电脑上有点难。那么问题来了,苹果如何支持RAR压缩包?答案是:安装一个非常专业的Mac解压软件BetterZip。如何实现: 1.下...

高考古诗文必背72篇 高中必背古诗文72篇,电子版文件+标准朗读音频

  • 高考古诗文必背72篇 高中必背古诗文72篇,电子版文件+标准朗读音频
  • 高考古诗文必背72篇 高中必背古诗文72篇,电子版文件+标准朗读音频
  • 高考古诗文必背72篇 高中必背古诗文72篇,电子版文件+标准朗读音频

军队院校 调整改革后军队院校目录(官方完整版)

  • 军队院校 调整改革后军队院校目录(官方完整版)
  • 军队院校 调整改革后军队院校目录(官方完整版)
  • 军队院校 调整改革后军队院校目录(官方完整版)