Git Push正在通过终端工作,但不是通过Xcode

时间:2015-12-12 08:08:21

标签: xcode git

我在 Google云端硬盘文件夹

中的本地计算机上创建了远程git存储库
git init --bare project.git

并添加了如下远程路径

git remote add origin '~/Google Drive/git/project.git'

当我通过Xcode提交时,它正确显示了带有正确分支的推送选项复选框(在本例中为master)。我将其标记为已检查,然后按“提交并推送”和显然已这样做但实际上未推送到远程存储库。当我从'源控制 - >推出时按',它显示成功的消息但我的远程存储库没有更新。

当我从终端运行push 命令时,它确实会成功更新远程存储库

git push origin master

如何解决以便Xcode(7.1.1)能够成功推送?

编辑:旁注,当我意识到这一点时,这让我很烦恼。最初,我认为它也是通过Xcode工作的(也许是之前的版本为7)。

编辑: @VonC这里是我如何知道git push是如何工作的。对于finder中的某些对象,修改日期会发生变化。

enter image description here

已编辑:根据@VonC的说明,当project.git在“Google云端硬盘”文件夹中的不同位置移动时,现在推送正在使用Xcode。但是,我希望它与“Google云端硬盘”文件夹一起使用。

编辑:我进一步将project.git移动到名称包含空格的文件夹中,xcode没有推送,但终端仍在推送。

2 个答案:

答案 0 :(得分:2)

Xcode 7.1没有推送到具有空格的远程repo路径,但终端确实提供了路径用引号括起来。希望Apple能为新版本修复它。

通过将“Goolge Drive”重命名为“GoogleDrive”并相应地调整了远程路径,我解决了问题。谷歌云端硬盘应用程序提示丢失文件夹,我指向重命名的文件夹。

答案 1 :(得分:0)

  

我的远程存储库没有更新。

尝试简单地将repo repo克隆到其他位置以查看是否收回了刚刚推送的内容:

git clone ~/Google Drive/git/project.git /somewhere/else

不要忘记 bare repo 没有工作树,因此推送后,您看不到任何新文件。

注意:如果带有空格的远程仓库路径对XCode有问题,可能的解决方法是推送到没有路径的路径:

  • 其中一个是Google云端硬盘的符号链接
  • 或之后通过Google云端硬盘进行rsync的路径