昨晚,我在凌晨1点的最佳时间编码,结果导致一些不太理想的git行为(我现在甚至更后悔使用git GUI而不是命令行,但这是另一个故事)。
我刚刚通过桌面工具在本地编写了一个提交,点击“同步”按钮推送到主人。就在这时,半夜,我的ISP决定将我的网络切断10分钟。正如预期的那样,同步超时。一旦我的连接恢复,我就去重试推送提交,但是,在本地,GUI表明提交已被推送。我切换到命令行工具并使用git status
进行了双重检查,当然,没有修改任何文件。
但是,当我访问my repository时,我看不到提交或更改应用于我的文件。如果我尝试(在线)编辑我失败的提交中的任何一个文件,它只会说明“文件无法编辑”,这给我一个错误。更奇怪的是,我的桌面工具“提交历史记录”链接到the commit,即使它未应用于存储库或以其他方式显示在GitHub上。
看来我的提交处于推送和实际应用之间的某种奇怪状态。我想知道是否有人经历过任何相似的事情并找到了解决方法,或者对如何解锁受影响的文件然后重新应用我的更改有任何想法。
感谢您的帮助!
答案 0 :(得分:0)
使用命令行(或者如果它提供了某些东西,也可能是GUI)将目录更改为repo并执行“git fetch”。这将刷新远程状态的缓存,然后允许您重试推送。
答案 1 :(得分:0)
我能够通过向readonly文件授予写入权限并为每个文件添加编辑来解决我的问题。然后我提交了这个更改并成功推送了提交,这反过来导致22小时前的提交及其更改,最终应用于GitHub。