2009-09-16 152 views
12

我用來從某人的git存儲庫中提取。今天,他將他的存儲庫移至另一個地址。我想知道是否有什麼方法讓我從新地址中拉出來,並獲得他在移動前最後一次發生的變化的信息?git更改存儲庫時

我所做的是我的存儲庫下的「git clone newaddress」,從他的舊版本中刪除。輸出是這樣的:

了XXX

步行XXX

了XXX

了XXX

步行XXX

爲newaddress獲得候補名單

爲newaddress

獲得指數爲包XXX

獲取包XXX

獲取包列表包含XXX

了XXX

了XXX

步行XXX

...

然後我「混帳拉」,得到了下面的消息,我不明白:

你問我瞞着我去拉哪個分支,你 想合併,和「分支.master.merge'in 你的配置文件也不會告訴我。請 命名你想在命令行中合併的分支,並且 再試一次(例如'git pull')。 有關refspec的詳細信息,請參閱git-pull(1)。

如果你經常使用相同的分支合併,可能要 配置以下變量,在您的配置文件 :

branch.master.remote = <nickname> 
branch.master.merge = <remote-ref> 
remote.<nickname>.url = <url> 
remote.<nickname>.fetch = <refspec> 

見的git-配置(1)瞭解詳細信息。

現在我能做些什麼來仍然能夠獲得他在上次搬家前所做的改變?

感謝和問候!在克隆的git倉庫

回答

23

如果我理解正確你的問題,你在找什麼做的是用一個新的替換當前的遠程起源。我不知道您是否可以從命令行替換它,但你可以在你的.git/config改變它(這是你的項目目錄)

OLD

[remote "origin"] 
    url = git+ssh://original_repository.com/my_project.git 
    ... 

[remote "origin"] 
    url = git+ssh://new_repository.com/my_project.git 
    ... 

git+ssh部分可能類似於[email protected](這是如果您使用github會是什麼),或者我確定有很多其他的東西。這可能有助於清除一些我遺漏的或沒有足夠解釋的東西:Changing Your Origin

希望這有助於回答你的問題。乾杯。

+0

快速引用:----------------------------- git remote set-url origin https://github.com/user/ repo2.git ----------------------------------------- http:// stackoverflow。 COM /問題/ 2432764 /如何對變化-A-遠程存儲庫使用URI的-混帳 – 2014-01-28 09:37:20

1

運行以下命令:

git config branch.master.remote origin 

照顧的「你問我拉不告訴我」 ...消息。

然後,如果您知道遠程倉庫被移動的位置,那麼您可以在您的新克隆本地倉庫git diff之後進行。

$ git diff "@{yesterday}" 
$ git whatchanged --since="2 weeks ago" 

注:即將git1.6.5 mentions

人寫的日期格式的各種選項,例如教導「--since=yesterday」,「[email protected]{2000.09.17}」以適當地推斷一些省略的輸入。

又見SO問題「How do you get git to always pull from a specific branch?

+0

謝謝!我剛剛意識到我在這裏做了一件非常糟糕的事情。我在自己的目錄下克隆了他的新存儲庫,這意味着他的新存儲庫的一個克隆將顯示爲我自己的一個子目錄,即他舊存儲庫的一個克隆。所以我只是刪除了整個子目錄。現在,如果我在存儲庫的父目錄下執行「git clone newaddress」,我會得到「致命的:目標目錄'vision_test'已經存在。」那麼現在有什麼方法可以改變他自己版本庫的地址,所以我只能在將來使用「git pull」?感謝致敬! – Tim 2009-09-16 20:33:18

+0

在git 1.7.7.5中,我調用了「git remote rm origin」和「git remote add origin git @ fluff:/git/dist.git」之後,我得到了「您問我沒有告訴我哪個分支......」 '。但我不得不打電話給以下3:1)'git config --remove-section branch.master' 2)'git config branch.master.remote origin' 3)'git config branch.master.merge refs /頭/主「來擺脫警告,並且在./git/config中沒有兩個[branch」master「]。 – mmorris 2012-10-24 15:26:48