我正在学习Git并在我的所有项目中实施它。我已经在我的本地机器上成功安装了Git,为每个项目创建了git repo,并开始将所有提交推送到我的bitbucket帐户中。
现在,所有这些项目都已经存在于我的生产服务器上,但是他们还没有相应的git repo ......
我想做的是能够从bitbucket下拉每个相应项目的提交,以便反映更改......并且还在该项目的生产服务器上设置git repo。
我希望我解释说得对。我正在使用SSH,我可以git init
...也尝试了git pull
和git fetch
...但是当我在拉动后尝试git status
时fetch ....它将生产服务器上的所有文件显示为未跟踪。但是,它们应该已经被跟踪,这反映在我的bitbucket repo上。正确?
尽管经过几个小时的阅读,但我对如何正确地做到这一点感到有些困惑。任何帮助或方向指向都会很棒!
答案 0 :(得分:1)
我的假设是你在生产服务器上做了一个init。
git init
然后将bitbucket添加为远程仓库
git remote add bitbucket git://bitbucket.com/project
您应该做的就是在本地提交,获取以及合并或重新定位。
提交会将您的更改提交到本地存储库,并且不会反映在bitbucket上。
git commit -a -m'提交'
fetch会将bitbucket中的任何更改提取到服务器。
git fetch bitbucket
合并会将任何新更改合并到服务器上的存储库中。
git merge bitbucket/master
但是,我个人更喜欢在此场景中使用rebase而不是合并,以便本地更改基本上附加到最后一次提交,而不是与bitbucket / master上的提交进行交织。我发现变基可以减少冲突的数量。
git rebase bitbucket / master
可能会发生合并冲突。在这种情况下,您应该编辑冲突区域,对冲突的文件执行'git add',然后再次提交。
答案 1 :(得分:0)
您可以错误地配置SSH。看这里https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git 并尝试做
git remote add origin [link to yor repo]