2017-08-23 10 views
0

私はストーリーを作成しており、ストーリーのために3つのファイルを追加しました。私はローカルブランチに追加してコミットしました。今、私はそれらの2つのファイルを緊急の優先順位でリモートのリポジトリにプッシュする必要があります。 github repoを押すために2人だけを押すことは可能ですか?複数のコミットされた変更のうちgithub repoをプッシュする選択されたファイル

+0

あなたの質問は非常に明確ではありません...あなたが押すことができるかどうか尋ねていますあなたがコミットしたファイルのみ? – ProgrammerAtWork

+0

正確ではありません。言って、私はfile1、file2、file3をコミットしました。今私はfile1とfile2だけをプッシュしたいと思います。それは可能ですか? –

答えて

0

git pushはファイルでは機能しません。コミットをプッシュします。コミットの半分を押すことはできず、その祖先を押さずにコミットを押すことはできません。

  • file3

  • file1を変更コミット変更しないfile1file2を変更コミット:あなたはfile1file2に変更をプッシュしたいのですが、あれば、file3への変更は、あなたがいることを確認する必要がありませんfile2には、その祖先にfile3を変更したコミットはありません。

これがすでに該当する場合、関連するコミットをプッシュすることができます。

git push origin <commit-touching-file1-and-file2>:master 

それ以外の場合は、以前にローカル履歴を編集する必要があります。 git rebase -iはそのための素晴らしいツールですが、これは複雑で潜在的に危険なツールであることに注意してください。あなたがそれを再生する前に、ドキュメントを読み、バックアップを作成してください。 git rebase -iに比較的ブルートフォース代わりに、あなたはまた、すべてのあなたの地元の歴史を破棄し、別のものを作ることができる

git reset origin/master # assuming the remote branch is master and hasn't changed since you cloned 
git add file1 file2 
git commit -m "changes to file1 and file2 only" 
git push 
+0

ありがとうございました。しかし、このシナリオでは、ブランチを作成し、そのブランチに3つの新しいファイルを追加しました。そして複数回コミットしました。しかし、それをgithubでプッシュしていない。したがって、レポをチェックアウト状態にすることは可能ですか?3つのファイルがすべて「未追加」のように表示されます。そこから、file1とfile2だけを追加してコミットして、それらをプッシュすることができます。 –

+0

私が書いたように、すでにコミットしたことがある場合は、変更を個別にプッシュする前にローカル履歴を編集する必要があります。私が編集として追加している 'reset'に基づいて、もっと力強いアプローチがあります。 –

0

file1とfile2を最初にコミットし、file3をもう1つコミットするとfile1とfile2をプッシュできますが、すでにすべてをコミットしている場合は、前のコミットをgit reset HEAD^でリセットし、file1とfile2、次にコミットしてプッシュします。必要に応じてファイル3を追加することができます。

関連する問題