Git推动不会做任何事情(一切都结束了
我正在尝试更新github上的git存储库。 我做了一堆更改,添加了它们,然后尝试做一个git push。 回应告诉我,一切都是最新的,但显然不是。
git remote show origin
回应我期望的存储库。
为什么git在存储库中不存在本地提交时告诉我存储库是最新的?
[searchgraph] git status
# On branch develop
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Capfile
# config/deploy.rb
nothing added to commit but untracked files present (use "git add" to track)
[searchgraph] git add .
[searchgraph] git status
# On branch develop
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: Capfile
# new file: config/deploy.rb
#
[searchgraph] git commit -m "Added Capistrano deployment"
[develop 12e8af7] Added Capistrano deployment
2 files changed, 26 insertions(+), 0 deletions(-)
create mode 100644 Capfile
create mode 100644 config/deploy.rb
[searchgraph] git push
Everything up-to-date
[searchgraph] git status
# On branch develop
nothing to commit (working directory clean)
git push
不会推送你所有的本地分支机构:它如何知道哪些远程分支机构推送它们? 它只会推送已配置为推送到特定远程分支的本地分支。
在我的git版本(1.6.5.3)上,当我运行git remote show origin
它实际上会打印出哪些分支被配置为push:
Local refs configured for 'git push':
master pushes to master (up to date)
quux pushes to quux (fast forwardable)
问:但我可以推动master
而不用担心这一切!
当你使用git clone
,默认情况下它会设置你的本地master
分支来推送到远程的master
分支(本地称为origin/master
),所以如果你只在master
提交,那么一个简单的git push
将总是推回你的更改。
然而,从你发布的输出片段中,你可以找到一个名为develop
的分支,我猜这个分支还没有设置为推动任何事情。 所以没有参数的git push
不会推送该分支上的提交。
当它说“一切都是最新的”时,这意味着“你告诉我所有的分支都是最新的”。
问:那么我怎么能推我的提交?
如果你想要做的是把你的改变develop
成为origin/master
,那么你应该把它们合并到你的本地master
然后按下:
git checkout master
git merge develop
git push # will push 'master'
如果你想要在远程创建一个develop
分支,与master
分离,然后为git push
提供参数:
git push origin develop
这将:在远程设备上创建一个名为develop
的新分支; 并将该分支与您当地的develop
分支进行更新; 并设置develop
推动产生origin/develop
以便将来,无需论证的git push
将自动推动develop
。
如果你想把你的本地develop
推广到一个叫做除develop
之外的远程分支,那么你可以说:
git push origin develop:something-else
然而,这种形式将不会develop
成永远推动origin/something-else
未来origin/something-else
; 这是一次性操作。
当我的Sourcetree应用程序在暂存期间崩溃时,这发生在我身上。 而在命令行中,它好像以前的git add
已经损坏。 如果是这种情况,请尝试:
git init
git add -A
git commit -m 'Fix bad repo'
git push
或者最后一条命令,您可能需要设置分支。
git push --all origin master
请记住,如果你没有做任何分支或任何这种分支,这就足够了。 在这种情况下,确保你推入正确的分支,如git push origin develop
尝试:
git push --all origin
链接地址: http://www.djcxy.com/p/94801.html