微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Git:将不同的文件推送到各种遥控器

如何解决Git:将不同的文件推送到各种遥控器

我正在使用 git 扩展。我确实有各种分支机构,并且已经设置了各种遥控器。存储库中有超过 10k 个文件。现在我只需要将几个特定文件从这些遥控器(bitbucket)推送到一个文件。这些特定文件将定期推送。最好的工作流程是什么?

解决方法

Git 不会推送文件。 Git 推送提交。现在,提交包含文件是真的。但这是一揽子交易:把提交想象成一辆装满家具的卡车。您不能只提供一张茶几或椅子。整辆卡车必须去某个地方。 (这个比喻不要太用力,否则它会分崩离析。?)

要将给定的提交按名称推送到某个远程,请运行:

git push <remote-name> <commit-specifier>:<name>

您身边的 commit-specifier 部分可以是分支名称、标签名称、原始提交哈希或其他任何内容。 remote-name 可以是您的任何远程名称。冒号右侧的 name 部分是 远程中的名称,任何使用其他 Git 存储库的人都可以通过该名称在远程上— 将找到您使用 commit-specifier 发送的提交以选择提交。

因为提交历史,发送提交将自动发送所有早期提交,如果远程没有它们。他们将获得每一次提交,包括那个提交。如果远程确实已经拥有它们——这很常见——他们将不需要这些提交。

Git 协议使两个 Git 能够相互交谈并找出他们有哪些提交。当接收方 Git 说 I have commit a123456 到发送方 Git 时,这会通知发送方 Git 接收方不仅拥有该提交,而且所有导致和包括那个提交,因为提交是历史,我们总是1发送完整历史所需的所有提交。

发送方 Git 将看到接收方 Git 不仅拥有所有这些提交,而且还有 提交的所有文件。因此,发送者可以通过完全省略任何匹配的文件来压缩他正在发送的任何提交,并将新文件压缩到 delta-encoded instructions 告诉接收者如何构建他已经拥有的文件中的那些文件。这些压缩指令适用于纯文本文件。对于预先压缩的二进制文件,例如 jpeg 图像,它们往往效果不佳。


1这个规则的例外是浅仓库,这让事情变得复杂。用 git clone --depth 制作这些。 (Bitbucket 上的接收存储库不会是浅存储库。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?