2012-02-26 19 views
35

我正在使用GitHub for Mac,并在我的分支中进行了一系列更改。我已经承担了一些变化,并将其他人视为未承诺,因为我预计会发生一些更改。但是,当我尝试进行同步以将这些更改推送到Git存储库时,它会抱怨 - '未提交的更改 - 请在同步前提交所有更改。'github for mac不允许执行部分签入/提交

有什么想法?它是否期望所有更改在您同步时始终提交?

+0

您是否使用“同步”作为“拉”的同义词? – chroipahtz 2012-02-26 03:50:02

+0

同步是特定于Mac的Github,我*相信*它确实拉和推。 – 2012-02-26 04:05:04

+0

Daenyth ..感谢您的反馈,@Chroipahtz - 同步来自Github for Mac。但如果有任何我可以用来推送单个文件的命令,请随时提出建议。 – Mutant 2012-02-26 04:24:38

回答

89

GitHub for Mac不是“同步”您的更改,而是提供您推送,拉出和同步更改的功能。不幸的是,UI按钮仅用于同步。但是,如果你进入菜单栏,在“Repository”下你会看到另外两个变化:push(command + P)或pull(shift + command + P)。

+0

谢谢,这是非常有帮助 – 2012-03-10 10:29:54

+0

+1男子我以为我疯了,谢谢! – andy 2012-06-11 11:18:55

+0

用户界面令人困惑 - 特别是对于刚接触mac客户端的用户。 +1键盘快捷键。 – 2013-10-30 23:41:05

2

因为我认为sync会同时执行git pull和git push,所以它会尝试将远程存储库中的更改合并到本地分支。如果您想要将更改与未提交的本地更改成功同步,则应保存更改,进行同步,然后取消更改。请记住,如果您在取得固定资产时存在冲突的变化,则必须找出合并它们的正确方法。

编辑:在Repository下,您可以执行push(Cmd + P)或pull(Shift + Cmd + P)。

+0

好的。是否有任何手动方式可以从git命令行推送单个文件? – Mutant 2012-02-26 04:27:20

+0

@Mutant - 你总是推**不是文件**,而是改变集* – 2012-02-26 06:26:34

+0

对,因为@拉齐獾说的是什么,你只需要提交那一个文件,然后推送那个提交。 – 2012-02-26 08:28:05