如何在不发出拉取请求的情况下向Git存储库提交更改?

时间:2018-04-11 14:56:42

标签: git bitbucket

我的一个朋友在Bitbucket上做了一个项目,我从他的存储库中下载了一个脚本并进行了一些更改。 现在他问我是否可以向他发送拉取请求,以便他可以查看更改并提交新版本。

我有一个Bitbucket帐户,但我对于为一次更改而分叉和克隆他的项目并不感兴趣。

是否还有其他方法可以向他发送拉取请求,或者更常见的是,在不使用拉取请求的情况下将更新发送给单个文件?

2 个答案:

答案 0 :(得分:0)

除了受欢迎的merge workflow之外,Git还支持patch-driven workflow。在本地计算机上安装Git后,正常提交更改。然后向您的朋友发送一个包含git format-patch的补丁系列:

git format-patch origin/master..

这会在origin/masterHEAD之间的每次提交生成一个补丁。 (refspec origin/master..当然可以更改;请阅读手册页。)

如果您没有安装Git,并且由于某种原因不希望,您可以向他发送一个普通diff的补丁(如果您有原始版本):

diff -u script.sh.orig script.sh

无论哪种方式,他都可以使用git apply来应用补丁。

当然,对于单个文件,您也可以通过电子邮件发送给他,他可以将其放入他的工作目录,覆盖原始文件。 Git会自动为他计算差异。但是,对于较大的更改,这不能很好地扩展。

答案 1 :(得分:0)

如果它是github,你可以只在服务器上分叉项目,通过web界面编辑它并在不在本地运行任何东西的情况下汇总pullrequest,并在接受PR后删除分支。也许,在bitbucket也有可能。