リポジトリのサブディレクトリにある1つのファイルを変更しました。そのファイルだけをGithubにプッシュします。
1つのファイルに小さな変更を加えましたが、リポジトリ全体を再アップロードしたくありません。
これまで見てきたすべての指示では、ローカルでマスターとマージし、ローカルマスターをリモートOriginにプッシュする必要があるようです。
その1つのファイルだけをプッシュするにはどうすればよいですか?
プッシュを実行すると、gitはコミットした変更のみを取得します。
git status
最後のプッシュ以降に変更したファイルが表示されますか?
これらの変更をコミットしてプッシュを実行すると、プッシュされるのはそれらのファイルのみであるため、実際にはマスター全体がプッシュされるので、マスター全体がプッシュされると考える必要はありません。
単一のファイルをプッシュする方法:
git commit yourfile.js
git status
git Push Origin master
とても簡単です。次の手順に従ってください。
1。 git status
2。 git add {File_Name} //変更されたファイル名
3。 git status
4。 git commit -m '{your_message}'
5。 git Push Originマスター
まず、gitが機能する方法は、ファイルのプッシュ/フェッチではないということです。まあ、少なくとも直接ではありません。
コミットを指す参照をプッシュ/フェッチしています。 gitでのコミットは、オブジェクトのツリーへの参照です(ファイルは、他のオブジェクトの中でもオブジェクトとして表されます)。
したがって、コミットをプッシュするとき、gitが行うことにより、次の図のような一連の参照がプッシュされます。
マスターブランチをまだプッシュしていない場合、ブランチの全履歴がプッシュされます。
したがって、この例では、ファイルをコミットしてプッシュすると、マスターブランチ全体がプッシュされます(以前にプッシュされていなかった場合)。
要求したことを行うには、 this answer のように、履歴のないクリーンなブランチを作成する必要があります。
1つのファイルをコミットしてリビジョンをプッシュすると、リポジトリ全体は転送されず、変更がプッシュされます。
新しいコミットのみをプッシュします。 「マスター」ブランチ全体をプッシュしません。これは、分散バージョン管理システムを使用する利点の一部です。 Gitは実際に必要なものを把握し、それらの要素のみをプッシュします。現在のブランチが変更され、他の誰かによってプッシュされた場合、最初にプルする必要があります。次に、コミットをプッシュします。
単一ファイルのみをプッシュ
git commit -m "Message goes here" filename
2つのファイルのみをプッシュします。
git commit -m "Message goes here" file1 file2