在git(using git mv
)中移动文件后,查看该文件的日志只显示包含和移动后的提交.
有没有办法查看以旧名称应用于该文件的提交?在下面的例子中,我想git log
在完成移动后看到提交b04033bdc44f1和8ca40d563ce5d .
$ git init
Initialized empty Git repository in /Users/ben/code/git_mv_example/.git/
$ touch foo
$ git add foo
$ git commit -m "Initial commit"
Created initial commit 8ca40d5: Initial commit
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 foo
[master*]$ echo "abcdefg" > foo
[master*]$ git commit -a -m "edited foo"
Created commit b04033b: edited foo
1 files changed, 1 insertions(+), 0 deletions(-)
$ git log foo
commit b04033bdc44f1eb3477270b4b7ca727377d8c03a
Author: Ben …
Run Code Online (Sandbox Code Playgroud) 我有一个远程git repo和一个本地克隆.假设我丢失了我的本地.git目录,随后添加和删除了一些文件到本地工作目录.
在某些时候,我想重新启动本地仓库,将它连接到远程,并最终将我的本地工作目录完全按原样推送到远程(也就是说,我希望拥有所有添加/删除的文件在遥控器上是一样的)
我怎么做到这一点?
这是我目前的解决方案,我不喜欢(并且可能不适用于所有情况).
git init
git remote add origin [some_url]
git add.#添加工作目录中的所有文件
git commit -m"添加文件"
(此时,我目前的想法是:
做一个分支,
将遥控器取入其中,
'git diff master branch> my_patch'
将该补丁应用于分支,
从分支推送到远程,
拉进主人,
并杀死分支.)
很明显,我的想法非常复杂和丑陋.有任何想法吗?
git ×2