2016-12-13 7 views
3

私がオンラインの間にgit fetchが編集されたときにブランチを早送りするにはどうすればよいですか?今はオフラインで、早く前にフェッチした状態に早送りします。例えばオフライン時にブランチを早送りする方法

私はオフラインだと、次の操作を行います。

$ git checkout develop 
Switched to branch 'develop' 
Your branch is behind 'origin/develop' by 37 commits, and can be fast-forwarded. 
    (use "git pull" to update your local branch) 

git pullを使用しようとすると私が取得:

私はこのケースで使用する必要がありますどのようなコマンド
$ git pull 
ssh: Could not resolve hostname <hostname>: Name or service not known 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

git pull以来

答えて

4

は基本的にgit fetch + git mergeであり、あなたはすでにfetchを行なったし、オフラインで、あなただけのgit merge origin/developを行う必要がありながら、再びそれを行うことはできません。

また、早送りがない場合でも動作するgit reset --hard origin/developを行うことができます。

編集:その他のオプション もう1つの方法は、それに切り替える前にgit branch -f develop origin/developを実行することです。現在のブランチを変更することはできませんが、最新でない限り、ブランチを任意の状態に「更新」することができます。現在の支店ではgit resetを使用する必要があります。

+0

は 'gitのは--hard起源/ develop'をリセットに関する警告:このコマンドは、すべての変更内容を破棄しますが。あなたがすべてを捨てて、この正確なコミットに行くことを知っている場合にのみ使用してください。 – LeGEC

+0

ローカル変更があっても 'git pull' /' git merge'は動作しません。 – aragaer

+0

あなたは 'git merge --ff-only origin/master'を実行し、それが動作するかどうかを確認することができます。そうでない場合、何かを上手くいじったことはありません。でも、本当に 'git merge'や' git rebase'を実行したり、最初に 'master'と' origin/master'の違いを調べることができます。 。 – LeGEC

関連する問題