2017-06-16 7 views
0

リモートブランチが早期に削除され、引き続き結合して回復したいという未解決のコミットが残っていることがわかりました。問題の開発者は、彼が実行していたシステムは、Gitリポジトリの特に古代のバージョンがインストールされていたので、これは動作しないことがわかっしかしGitの古いバージョンのgit --unset-upstreamにはそのオプションがないのですか?

> git checkout local-branch 
> git branch --unset-upstream 
> git push -u origin remote-branch 

:私の最初の考えは作業コピー元の開発者に次の操作を実行するだけでした新しいバージョンをインストールするオプションではありませんでした。私たちのために幸いなこと

git branch --unset-upstream 
error: unknown option `unset-upstream' 
usage: git branch [options] [-r | -a] [--merged | --no-merged] 
    or: git branch [options] [-l] [-f] <branchname> [<start-point>] 
    or: git branch [options] [-r] (-d | -D) <branchname>... 
    or: git branch [options] (-m | -M) [<oldbranch>] <newbranch> 

のgitの最新バージョンと他の開発者がフェッチすることができたので、問題のコミットは以前にリモートリポジトリにプッシュされていたとこれらのコミットをローカルブランチの独自のバージョンにマージして、リモートブランチを復元し、私たちにそれをマージする:

> git fetch origin <sha1hash> 
> git checkout local-branch 
> git merge <sha1hash> 
> git branch --unset-upstream 
> git push -u origin remote-branch 

オリジナルの開発者に上流分岐の設定を解除する方法があったはずのように、それは、元の開発者が支店を復元することができますので、ファイルの編集構成によって、おそらくレポジトリようですが。

したがって、git branch --unset-upstreamを使用せずに上流のブランチを削除するにはどうすればよいですか?

答えて

0

例えばブランチmasterを取ると、git config --local -eを実行し、次の行を削除します。

[branch "master"] 
     remote = origin 
     merge = refs/heads/master 

するか、サポートされている場合だけgit config --remove-section branch.masterを実行します。

+1

'branch.master。*'アイテムがさらにある可能性があるので、リモートとマージの設定だけを削除する方が安全です。 – torek

関連する問題