相关疑难解决方法(0)

如何将git标记为已删除的文件并将新文件作为文件移动?

我手动移动了一个文件,然后我修改了它.根据Git,它是一个新文件和一个删除文件.有没有办法强迫Git将其视为文件移动?

git

453
推荐指数
10
解决办法
13万
查看次数

让Git确认先前移动的文件

我在没有考虑的情况下手动移动了一堆文件,并且找不到让git认识到文件只是被移动而不是实际上不同的文件的方法.有没有办法做到这一点,除了删除旧的和添加新的(从而丢失历史),或使用git-mv重做所有更改?

git

66
推荐指数
4
解决办法
2万
查看次数

腐烂的git树?

我在本地计算机上遇到git存储库的大问题.

我修改了一个文件,运行git status并且文件显示为已修改.我添加了文件git add .,它像往常一样工作.但是当我即将提交更改时,我收到以下错误:

error: garbage at end of loose object 'e91ce852822d32e380ed7ddd04c93066e3c600ea'
fatal: object e91ce852822d32e380ed7ddd04c93066e3c600ea is corrupted
Run Code Online (Sandbox Code Playgroud)

通过运行git cat-file -t e91ce852822d32e380ed7ddd04c93066e3c600ea,我可以看到该对象是一棵树.

我已经看到了几个关于如何修复损坏的blob或提交的解决方案,但这是一棵树,我找不到可能出错的答案,或者如何修复它.

任何帮助赞赏:)

git

8
推荐指数
2
解决办法
4705
查看次数

Git重命名文件.历史记录在cmd-line上可用,但在github界面中没有?

在Git中重命名文件和文件夹时,有很多 关于如何保存历史记录的优秀 帖子.


这适用于git命令行界面:

#if you don't modify oldname.cpp or newname.cpp, git will understand your rename

git mv old.cpp new.cpp
git commit -am "renamed old.cpp -> new.cpp"

git log new.cpp #only shows the new commit
git log --follow new.cpp #shows ALL the history of old.cpp and new.cpp
Run Code Online (Sandbox Code Playgroud)

太棒了,所以这个--follow命令允许我们new.cpp在重命名之后获得所有的历史记录.这在git的命令行界面中效果很好.


但是,在github web界面中,历史old.cpp并未显示出来new.cpp.这是一个问题,因为我的许多团队成员都将他们的github帐户视为简历的一部分.如果他们的提交在重命名文件后没有出现在github中,那么他们就会失去恢复点.在主要文件名/目录重构之后,贡献者最终可能没有在repo上进行单个可见提交.

git log --follow在重命名文件后,如何在github Web界面(例如)中显示完整的文件历史记录?

或者我不会重命名任何东西,除非我愿意让偶然的github用户永远不会看到旧的提交?

git version-control github

8
推荐指数
1
解决办法
3532
查看次数

标签 统计

git ×4

github ×1

version-control ×1