我正在尝试从cli更新github上的文件,但是却无济于事。
我的步骤:
$ git add myfile.txt
$ git commit -m 'update message'
done. all 2 files are hidden.
[48a989d 8762548] update message
3 files changed, 2 insertions(+), 2 deletions(-)
create mode 100644 dir1/secrets.yaml.secret
create mode 100644 dir2/passwds.secret
$ git push origin master
Everything up-to-date
但是当我在github上打开仓库时,myfile.txt没有显示。 ps,如您所见,我正在使用git-secret。应该不会影响这个问题,但是我要提到它。
答案 0 :(得分:1)
这是了解正在发生的事情的关键:
[48a989d 8762548] scenes
对于每次提交,Git都会显示一些消息:
$ git commit -m bar
[master 04ce966] bar
1 file changed, 1 insertion(+), 1 deletion(-)
第一行用方括号括起来,即您当前的分支名称-在这种情况下,我的分支名称是master
-新提交的哈希ID缩写为相当短的字符,在这种情况下为04ce966
第二行总结了现有文件,新文件和已删除文件中的更改,任何其他行都为您提供了有关其他更改(尤其是新文件和/或已删除文件)的更多信息。
您的Git打印:
48a989d
作为方括号中的第一个单词。这意味着您在名为 48a989d
的分支上。这不是一个很好的 分支名称,它看起来很像一个提交哈希,但它是一个 valid 分支名称,就像cafedad
或{{ 1}}或feedbed
都是有效的分支名称,也可能是有效的缩写提交哈希。因此,您提交了这些文件,在分支cabbabe
中创建了一个新提交,然后使用名称48a989d
进行了推送,但未更改。
检出master
,将文件放入其中,提交并推送成功。现在,您可以运行master
来查看这个奇怪的git branch
分支,如果确定其中没有任何价值,也可以只运行48a989d
来强制删除它。
编辑:建议您使用git branch -D 48a989d
进行查看,然后运行git branch
将其名称更改为更明显的名称,并在需要时使用它。
答案 1 :(得分:0)
基于下面的eftshift0评论,我尝试了
$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
myfile.txt
dir1/secrets.yaml.secret
dir2/passwds.secret
Please commit your changes or stash them before you switch branches.
Aborting
我认为这可能会有所帮助。将在本地备份我的存储库并尝试存储更改
... 5分钟后...
$ git stash
$ git checkout master
$ cp ~/backup/myfile.txt .
$ git add .
$ git commit -m 'update message'
$ git push origin master
Counting objects: 7, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 987 bytes | 987.00 KiB/s, done.
Total 7 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), completed with 5 local objects.
To github.com:marcwagner/install_scripts.git
2a75b58..92bf3de master -> master
谢谢!