1

我是 Git 新手。我已经成功推送并合并了两个提交。但是当我检查git状态时,它仍然说

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)

no changes added to commit (use "git add" and/or "git commit -a")

git push***是公司Git服务器地址,下面忽略)之后的输出:

$ git push
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done
To ssh://***
 ! [remote rejected] master -> refs/for/master (no new changes)
error: failed to push some refs to 'ssh://***'

有人知道为什么吗?

4

2 回答 2

1

提到的错误消息refs/for/master表明您正在推送到Gerrit 代码审查服务器。虽然 Gerrit 是完全兼容的 Git 服务器,但它有一些特殊的规则需要遵循。

请参阅 Gerrit 文档,了解如何正确提交代码审查

可能更好的主意是询问您公司的 Git/Gerrit 管理员如何正确上传您的提交。

在任何情况下,请注意,您上传到 Gerrit 的更改不会成为正式的(并且不会移动origin/master分支),直到使用 Gerrit Web 界面的人批准它们。

一旦在 Gerrit 中获得批准,您应该能够在下次执行git fetch(或repo sync)时看到更改。

于 2013-01-21T07:06:43.700 回答
0

只需阅读帖子的其余部分。问题是以下两个之一:

  1. 有文件未提交或未添加*

    当一个新文件被创建并且你提交@命令行时,它不会像在 git extensiosn UI 中那样自动添加它们。您需要添加所有(或一些),即 git add --all (或一些路径和文件)

  2. 您的本地存储库未与远程(源)同步。在推送之前进行获取和合并或拉取。(如果您有尚未添​​加的文件阻止您进行合并,您将收到另一个错误。只需确保添加了所有文件,然后从源合并,一切都应该工作)

于 2013-01-21T02:36:02.297 回答