题
我习惯从某人的git存储库中提取。今天他将他的存储库移到另一个地址。我想知道是否有一些方法让我从新地址中取出并获取他在移动前最后一次所做的更改的信息?
我所做的是“git clone newaddress”在我的存储库中从他的旧存储库中取出。输出如下:
得到xxx
走xxx
得到xxx
得到xxx
走xxx
获取newaddress的替换列表
获取新地址的包装清单
获取pack xxx的索引
获取包xxx
包含xxx
得到xxx
得到xxx
走xxx
...
然后我“git pull”并得到以下消息,我不明白:
你让我拉而不告诉我你是哪个分支 想要合并,和'branch.master.merge'在 你的配置文件也没告诉我。请 在命令行中命名要合并的分支 再试一次(例如'git pull')。 有关refspec的详细信息,请参阅git-pull(1)。
如果您经常与同一分支合并,则可能需要 在配置中配置以下变量 文件:
branch.master.remote = <nickname> branch.master.merge = <remote-ref> remote.<nickname>.url = <url> remote.<nickname>.fetch = <refspec>
有关详细信息,请参阅git-config(1)。
现在我能做些什么才能获得他在移动前最后一次所做的更改的信息?
谢谢和问候!
解决方案
如果我正确理解您的问题,您要做的是用新的远程原点替换您当前的远程原点。我不知道你是否可以从命令行替换它,但你可以在 .git / config
中更改它(这是在你的项目目录中)
OLD
[remote "origin"]
url = git+ssh://original_repository.com/my_project.git
...
NEW
[remote "origin"]
url = git+ssh://new_repository.com/my_project.git
...
git + ssh
部分可能类似于 git @
(这就是你使用github时的情况),或者我确定各种各样的其他事情。这可能有助于澄清一些我遗漏或解释不充分的事情:改变你的起源
希望这有助于回答您的问题。欢呼声。
其他提示
在克隆的git存储库中运行它:
git config branch.master.remote origin
照顾“你让我拉而不告诉我”......消息。
然后,如果您知道远程仓库的移动位置,那么您可以在新的克隆本地仓库中执行 git diff
,从那天起。
$ git diff "@{yesterday}"
$ git whatchanged --since="2 weeks ago"
注意:即将推出的 git1.6.5提及
人类可写日期格式与各种选项,例如“
- since = yesterday
”,“master @ {2000.09.17}
”,教会正确推断出一些省略的输入。
另见SO问题“你怎么得到git总是从特定分支拉出来?&quot;