繁体   English   中英

在干净的 git 上是否有分叉和拉取请求?

[英]are there forks and pull requests on clean git?

仅使用 git(没有 github、gitlab 等)时,我可以使用存储库分叉和拉取请求吗? 在不使用 git(仅限 CLI)的情况下,我没有找到有拉取请求的指南。 如果这些是我在哪里可以找到指南和文档?

在理论上和实践中,您仍然可以使用 git 作为您的分布式版本控制系统 ( DVCS ),而无需像 GitHub/GitLab/BitBucket 这样的任何存储库托管服务,尽管使用此类服务是一个好主意,并且确实值得推荐。

如果fork你的意思是获取另一个 git 存储库的副本,那么是的,你可以通过使用clone命令来实现,

git clone <path-to-another-git-repository>

一旦你有了克隆,你就可以像往常一样处理它。 您可以使用git remote -v验证您的远程是否指向原始存储库 如果您想将更新拉入任何存储库,只需确保正确设置特定存储库的远程。 正确设置遥控器后,您可以使用git pull <remote> <branch-name>拉入更改。 同样,您可以将更改推送到。 但是,如果您将更改推送到的远程仓库具有相同的已签出分支,则 git 将抛出错误,指出工作树可能变得不一致。

如果 git 存储库位于同一系统上,则<path-to-another-git-repository>将只是文件系统特定路径。 Git 支持多种协议,其中一种是本地协议

拉取请求:

  1. 发出拉取请求

https://git-scm.com/docs/git-request-pull

git request-pull known-branch  origin  new-branch

它会打印很多东西,你真正需要的是

  • URL https://domain/mygit.git
  • 分公司新分公司

您将它们(电子邮件)发送给应该拉动的人,并要求他们拉动该分支。


  1. 接受拉取请求

在你当地的 git 做

git pull  https://domain/mygit.git  new-branch

然后,您可以将此新分支与您的数据进行比较。 您可以根据需要合并或重新设置它。


甚至可以接受来自不相关存储库的拉取请求。

假设有人从您的项目中复制了一个文件,并将其复制到他们自己独立的 git 中。 现在他们进行了更改,并发送了拉取请求。

git pull --depth=1 https://domain/mygit.git  new-branch

“深度”你需要多少次提交。

这仍然是一个新分支,即使它实际上并没有“连接”到您的任何分支。

你可以从这个分支中挑选,或者将它变基(使用带有所有 3 个参数的变基)到你的分支上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM