在github上,我分叉了另一个项目的旧版本。我做了一些更改,并试图将它们推到github上的fork上。我在本地提交了更改,然后尝试了git push,但这只是告诉我“Everything up-to-date”。当我在github上浏览项目时,没有任何改变:它仍然显示我的fork上的文件(来自最新版本),未经修改。如何将更改推送到我的github帐户?
(我意识到这不是太多信息......我还能说什么呢?我有一种感觉,可能是因为我正在直接在(home)/ git /(项目)修改文件...... ?)
答案 0 :(得分:9)
git branch -v表示我的提交已开启(无分支)。至于添加,我最初通过Eclipse(使用git插件)提交更改...当我从命令行执行git add时,它似乎没有做任何事情
这意味着您处于DETACHED HEAD模式
您可以添加和提交,但从上游repo的角度来看(即从GitHub仓库),没有新的提交准备好被推送。
您有多种方法可以将本地(分离的HEAD
)提交包含回一个分支,然后您可以将其推送。
参见:
git commit
+ checkout when not in any branch. Did I loose my changes?”HEAD
explained”。HEAD
with master/origin?” OP提到这篇文章是为了解决这个问题:
“git: what to do if you commit to no branch”
我们需要做的就是检查我们应该使用的分支并合并到提交SHA:
请注意,您可以使用head=$(git rev-parse HEAD)
代替合并您以某种方式复制的SHA1,而不是使用脚本记住它:
请参阅“git: reliably switching to a detached HEAD and then restore HEAD later, all from a script”
然后,您可以将分离的HEAD
合并回右侧分支。
答案 1 :(得分:7)
更改文件后,您需要
git add
之前的
git commit
答案 2 :(得分:3)
git commit
将显示本地计算机上的文件,取消注释要上传的内容和
git push origin master
因为git add *
对我不起作用(即使它没有返回错误)。
答案 3 :(得分:1)
不确定为什么人们会用正确的答案向这个人投票。对我来说,添加我的电子邮件和名称确实解决了问题。虽然命令不正确。
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
答案 4 :(得分:0)
检查 git commit -m
命令
就我而言,我刚刚忘记在 m
-
当你这样做时,终端会输出如下错误
error: pathspec 'm' did not match any file(s) known to git
error: pathspec 'TESTING' did not match any file(s) known to git
但是当您尝试 git push
时,您不会收到任何错误,但输出将是
Everything up-to-date
顺序应该是:
git status
git add .
如果您想添加要提交的整个更改
git commit -m "Your Comments"
答案 5 :(得分:-1)
最近的git版本必须配置用户详细信息git config -g user.name“name”
git config -g user.email "ab@mil.com"
这解决了我的问题