3.4.1. 常见问题

该文档主要记录在开发过程中遇到的问题。

3.4.1.1. Everything up-to-date

git 在提交时提示 Everything up-to-date

$ git push origin master
Everything up-to-date

原因如下:

Why does Git refuse to push, saying “everything up to date”?
git push with no additional arguments only pushes branches that exist in the remote already. 
If the remote repository is empty, nothing will be pushed. 
In this case, explicitly specify a branch to push, e.g. `git push master`.

也就是说一开始 git 服务器仓库是完全空的,不包含任何一个分支(branch),因此刚开始 Push 时需要指定一个。

执行 git remote -v 后看到自己的 remote 端名字为 origin:

$ git remote -v
origin  https://github.com/(***).git (fetch)
origin  https://github.com/(***).git (push)

执行 git branch 后查看本地当前分支,执行 git branch -a 查看全部分支(包括远程分支)。

$ git branch
* master

可以看到当前远程名为 origin 并且分支为 master。那为什么在提交时看提示 Everything up-to-date 呢?

现在来执行命令 git status 看下工作空间:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   SUMMARY.md
        modified:   book.json
        modified:   docs/MySQL/mysql-config-set.md
        modified:   images/favicon.ico

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .idea/
        _book/
        docs/GitBook/插件管理.md
        node_modules/
        nohup.out

其实真正原因是在提交提交时执行命令:

$ git add file...

后并没有进行 git commit,所以在进行推送远程时并没有要进行推送的文件。

所以,当提示 Everything up-to-date 原因有两个:没有远程仓库或者本地没有需要提交的文件。

Copyright © MinGRn 2018 all right reserved,powered by Gitbook最近修订时间: 2019-02-20

results matching ""

    No results matching ""