加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何让git检查主服务器上的更新?

发布时间:2020-12-13 23:50:13 所属栏目:Linux 来源:网络整理
导读:我对git知之甚少,想请求帮助. 我有一个linux(-only)应用程序,只能用git“下载”(即克隆).在启动时,应用程序应询问git“主服务器”(github)是否有更新. git是否提供命令来检查是否有更新(没有真正更新 – 只检查)?此外,我的应用程序可以读取该命令的返回值吗
我对git知之甚少,想请求帮助.

我有一个linux(-only)应用程序,只能用git“下载”(即克隆).在启动时,应用程序应询问git“主服务器”(github)是否有更新.

git是否提供命令来检查是否有更新(没有真正更新 – 只检查)?此外,我的应用程序可以读取该命令的返回值吗?

解决方法

如果你不想合并,你只需要获取你的远程/分支规范git fetch yourremote / yourbranch,通常是origin / master.然后,您可以解析命令的输出以查看是否实际存在新提交.您可以将最新提取的提交称为yourremote / yourbranch,也可以通过symref FETCH_HEAD引用.

注意:我被提醒FETCH_HEAD引用了最后一个分支.因此,一般来说,你不能依赖git用FETCH_HEAD获取你的远程,因为前者获取所有被跟踪的分支,因此后者可能不会引用你的分支.另外,

>你最终得到的不仅仅是必要的.
>也可参考Jefromi’s answer查看但未实际下载的更改
>以下不一定是最紧凑的格式,只是可读的例子.

话虽这么说,这里有一些检查远程分支更新的选项,我们将用你的远程分支/ yourbranch表示:

0.在以下操作中处理错误:

0.1如果你试图git获取你的遥控器,git会给你一个错误

conq: repository does not exist.

这可能意味着您没有定义远程字符串.使用git remote –verbose检查你定义的远程字符串,然后根据需要git remote addremote yourremoteURI.

0.2如果git给你一个错误,如

fatal: ambiguous argument 'yourremote/yourbranch': unknown revision or path not in the working tree.

这可能意味着你没有本地的你的远程/你的分支.我会把它留给更有知识性的人来解释在本地拥有远程东西意味着什么:-)但是这里只会说你应该能够修复那个错误

git fetch yourremote

之后,您应该能够成功重复所需的命令. (如果您已正确定义git remote yourremote:请参阅上一项.)

1.如果你需要详细信息,git show yourremote / yourbranch并将其与当前的git show yourbranch进行比较

2.如果你只是想看到差异,git diff yourbranch yourremote / yourbranch

3.如果您更喜欢仅对哈希进行比较,请将git rev-parse yourremote / yourbranch与git rev-parse yourbranch进行比较

4.如果你想使用日志来回溯发生的事情,你可以做一些像git log –pretty = oneline yourremote / yourbranch … yourbranch(注意使用三个点).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读