はいリモートURLを編集することは可能です。あなたのgit-clientに依存しますが、GUIレスのgitのレイヤーでは、.git/config
ファイルを見れば、リモートのすべての定義がそこにあります。
[core]
bare = false
(.....)
[user]
name = you
email = [email protected]
[remote "origin"] #<---- here ya go '1
url = ssh://[email protected]:40000/myproject.git #<--- here ya go '2
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
だから、あなたは、それを変更.git
を圧縮することができ、他のDEVにそれを与える、と彼は行く準備ができます。ヤックあなたがポイントブランクにいない限り、そうしないでください。
これは、すべて手動で行うことにあまり意味がないからです。 Gitは複数のリモコンを簡単に扱うことができ、新しいリモートリポジトリを初期化できるpush
と、開発者を設定できるclone
があります。両方のリモコンが設定されています。その後
git remote add newrepo ssh://[email protected]:7999/w3/myproject.git
...その直後
git push newrepo master
または
git push --all
git push --tags
... etc
をプッシュ:あなたはすでに伝統的なorigin
はちょうど新しい名前で新しいものを追加していると仮定すると、
新しいリポジトリには、「すべて」(=あなたがプッシュしたものに依存します)がソースから取り込まれます新しい開発者は単に古いものを無視してその新しいものからclone/pull
することができます。
ノーマルプッシュを実行しているので、新しいレポには完全履歴も表示されます。あなたがそれを望まないなら、まずそれをトリミングする必要があります(スカッシュなど)。
'git remote add newrepo'が既に存在し、そこに古いコードがあるので、私はできません。 – DarthVader
@DarthVader:新しいリポジトリに古いコードが含まれていますか?ちょっと変わったね?とにかく、古いコードを削除して最新のものに置き換えたい場合は、まず最初に新しいリポジトリをクリーンアップしてください: 'master'以外のすべてのブランチを削除してください(おそらく' master' beucaseを削除することはできないでしょうサーバの裸のリポジトリにブランチする)、孤立した空のコミットを 'master'ブランチに強制的にプッシュします。その後、新しいリポジトリは完全に空になり、実際のソースリポジトリからプッシュされたコンテンツを受け取る準備が整います。 – quetzalcoatl