从Bitbuckets复制Git仓库到生产环境

3
我正在学习Git,并将其应用于所有项目中。我已经在本地成功安装了Git,为每个项目创建了git仓库,并开始将所有提交推送到我的bitbucket帐户中。
现在,这些项目都已经在我的生产服务器上运行,但它们还没有相应的git仓库...尚未。
我想做的是能够从bitbucket拉取每个对应项目的提交,以便反映更改...并为该项目在生产服务器上设置git仓库。
我希望我解释得没错。我正在使用SSH,并且我能够git init...也尝试过git pullgit fetch...但是当我尝试在拉取或获取后git status时...它显示生产服务器上的所有文件都未被跟踪。然而,它们应该已经被跟踪,正如在我的bitbucket仓库中反映的那样。对吗?
尽管阅读了数小时,我仍有点困惑如何正确地执行此操作。任何帮助或指导都将不胜感激!

你在生产服务器上执行了'git init'还是'git clone'?你是从分支还是主干拉取代码? - Travis Stevens
我一直在使用 git init 来开始...添加并提交所有文件...然后我从 Bitbucket 仓库进行拉取。我真的不确定这是否是正确的方法。每当我在本地机器上进行更改,将其推送到 Bitbucket,然后尝试从生产服务器进行拉取时,都会出现合并冲突。 - Josh S.
你是将代码从生产服务器推送到 Bitbucket 吗? - Travis Stevens
2个回答

1
我的假设是您在生产服务器上进行了初始化。
git init

然后将Bitbucket添加为远程仓库

git remote add bitbucket git://bitbucket.com/project

你需要做的只是在本地进行提交,获取并合并或变基。

提交会将您的更改提交到本地存储库,并不会反映在bitbucket上。

git commit -a -m 'committing'

获取操作会将任何来自bitbucket的更改拉取到您的服务器上。

git fetch bitbucket 

合并将会把任何新的更改合并到您在服务器上的存储库中。
git merge bitbucket/master

然而,在这种情况下,我个人更喜欢rebase操作而不是在bitbucket/master上进行合并,以便本地更改基本上会附加到最后一次提交而不是与提交织在一起。我发现rebase可减少冲突的数量。 git rebase bitbucket/master 有可能出现合并冲突。在这种情况下,您应该编辑有冲突的区域,在被冲突的文件上执行'git add',然后再次提交它们。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接