好的,所以我在这里完全糊涂了。我不知道为什么我似乎无法掌握一些GIT设置,但我只是没有削减它!请有人帮助我。我已经阅读了大量的教程,似乎没有任何东西符合我的要求所以它只会让我感到困惑。
这是我想要做的但却无法做到的。
在github上有一个开源项目,它有一个分支(开发),我想抓住它来改进,然后在稍后发布到我自己的服务器。此存储库是我可以访问的私有只读。我尝试克隆项目然后制作shcnages但我不知道把它们放在哪里。另外,当github项目发生变化时,我仍然无法从github dev分支(或者甚至是远程分支主分支)中获取正确的更新,而不是覆盖我自己的东西。
部分原因是该项目正在使用http://nvie.com/posts/a-successful-git-branching-model/ git-flow模型,这让我更加失望。
我正在尝试使用http://www.git-tower.com/来管理GIT。
对于这个特定的例子,一些富有同情心的灵魂能帮我一步一步吗?
答案 0 :(得分:1)
我会逐步尝试这样做,你可以提出问题,以便我可以扩展答案。
在本地计算机上的github上复制存储库。
这是使用git clone
命令完成的。像git clone -b development git://github.com/nibrahim/Xenon-Retroblast.git
之类的东西应该这样做。此处的URL将是只读的,因为您将无法对原始存储库具有写入权限。我在这里使用了我自己的一个项目作为例子。
这将在Xenon-Retroblast
目录中创建一个本地克隆。默认情况下,克隆将指向master
分支,但在克隆时您提供的-b
参数应该处理这个问题。
现在,在本地进行更改并提交。
让我们说你自己的服务器hamman.com并在那里设置一个存储库。您可以使用以下命令remote
将其作为git remote add myown ssh john@hamman.com:~/repos/project.git
添加到本地克隆中。这是您的私人存储库,您可以随意使用它。此存储库的本地名称为myown
。如果您是github
用户,则此远程可以是github上的存储库。您还可以在github上单击“fork this project”并直接在网站上创建一个fork,从中克隆并将官方存储库添加为远程。
要将提交推送到此存储库,您必须说git push myown development
(将当前分支推送到远程'myown'上的'development'分支)。要从github存储库中获取,请说git pull origin development
。
我确信答案是不完整的,但提出问题,我希望能为你充实。
答案 1 :(得分:0)
如果你没有写权限,为什么不先把项目分开?
然后您可以在自己的分叉项目中创建或修改代码。
答案 2 :(得分:0)
您可以从主分支创建补丁,然后将其应用到您自己的分支。但是您必须为每个更改都观察主项目,因为AFAIK github不会通知您有关更改的信息。