推送至主文件后文件未显示在github上

时间:2018-10-09 20:05:16

标签: git github push

我正在尝试从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。应该不会影响这个问题,但是我要提到它。

2 个答案:

答案 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

谢谢!