我有一个项目,我们最初在本地启动并将更改推送到BitBucket。当我们启动时,我们已启动,自从远程主机服务器上启动以来,我们对代码进行了远程更改。
现在我想将所有这些更改从远程服务器推送到我们的仓库。我从来没有在这个远程系统上初始化Git。所以它以前从未被连接过。
我也不想在服务器上损坏我们的代码,但我希望所有代码都能替换repo中的代码。
那么如何在不损害我们的服务器代码的情况下进行初始化,然后将所有内容推送到repo替换?
我通常会在下面这样做,但我想确保我不会弄乱一些东西,因为代码已经存在,我得到了所有内容,所以回购:
git init
git remote add origin URL
git add -A .
git commit -m "Commit xxxx"
git push -u origin master
即使这两个地方仍有自己的代码,这仍然是正确的吗?
答案 0 :(得分:-1)
您要做的是将远程服务器上的更改放到bitbucket repo的主服务器上。
您可以按照以下方式执行此操作:
编辑:
如果不想将bitbucket repo复制到远程服务器,那么你唯一能做的就是在bitbucket上尚不存在的新初始化的repo中创建一个新的分支,提交你的远程服务器&#39 ;那里的版本并推送到bitbucket,在那里你将获得一个单独的代码版本。
但是,你仍然会在bitbucket上有两个版本的代码 - 并且必须手动管理它们。如果将bitbucket上的master分支替换为服务器的版本,则最终会丢失master分支上的所有git commit历史记录。
请注意,此方法最终还会将200 MB的远程服务器代码复制到bitbucket。如果你克隆然后再做 - 就像我上面提到的方法一样,git将仅计算更改,然后将它们发送到bitbucket - 这样做的好处是你可以从bitbucket repo中的版本知道你的远程服务器上发生了什么变化。