【问题标题】:Copy git repository to production from bitbuckets将 git 存储库从 bitbuckets 复制到生产环境
【发布时间】:2014-02-16 03:22:23
【问题描述】:

我正在学习 Git 并在我的所有项目中实施它。我已经在本地机器上成功安装了 Git,为每个项目创建了 git repo,并开始将每个项目的所有提交推送到我的 bitbucket 帐户。

现在,所有这些项目都已经在我的生产服务器上运行,它们还没有相应的 git repo...。

我想做的是能够为每个相应的项目从 bitbucket 中提取提交,以便反映更改......并且还在该项目的生产服务器上设置 git repo。

我希望我解释得对。我正在使用 SSH 并且我能够 git init... 也尝试过 git pullgit fetch ... 但是当我尝试在拉取或获取之后 git status .... 它显示了所有我在生产服务器上的文件未跟踪。但是,它们应该已经被跟踪,反映在我的 bitbucket 存储库中。对吧?

尽管阅读了数小时,但我对如何正确执行此操作感到有些困惑。任何帮助或指导都会很棒!

【问题讨论】:

  • 您是否在生产服务器上执行了“git init”或“git clone”?你是从分支还是从 master 拉?
  • 我一直在做 git init 来启动它...添加并提交所有文件...然后我从 bitbuckets 存储库中提取。真的不确定这是否是正确的方法。每当我在本地机器上进行更改时,我都会遇到合并冲突,将其推送到 bitbucket,然后尝试下拉到生产服务器。
  • 您是否将代码从生产服务器推送到 bitbucket?

标签: git bitbucket


【解决方案1】:

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

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”,然后再次提交。

【讨论】:

    【解决方案2】:

    您可能会错误地配置 SSH。看这里https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git 并尝试去做

    git remote add origin [link to yor repo]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2023-02-08
      • 2011-02-26
      • 1970-01-01
      • 2011-04-21
      • 2011-01-23
      相关资源
      最近更新 更多