如何将子目录中的单个文件推送到Github(非主)

moo*_*tar 29 git github git-push git-branch

我已经更改了我的存储库的子目录中的单个文件,我想将该文件推送到Github.

我对一个文件做了一些小改动,我不想重新上传整个存储库.

看起来我到目前为止看到的所有指令都要求我在本地与主服务器合并,然后将我的本地主服务器推送到远程源.

我怎么才能推送那个文件?

kri*_*ich 31

当你进行推送时,git只接受你提交的更改.

还记得你做的时候git status它会显示你上次推送后你改变的文件吗?

一旦你提交了这些更改并进行推送,它们就是唯一被推送的文件,所以你不必担心整个主程序被推动,因为实际上它没有.

如何推送单个文件:

git commit yourfile.js
git status
git push origin master
Run Code Online (Sandbox Code Playgroud)


小智 14

非常简单.只需按照以下步骤操作:
1.git status
2. git add {File_Name} //您更改的文件名
3. git status
4. git commit -m'{your_message}'
5.git push origin master


Ada*_*zek 10

首先让我说git的工作方式是你不是在推/取文件; 好吧,至少不是直接的.

您正在推送/获取引用,指向提交.然后git中的提交是对对象树的引用(其中文件表示为对象,以及其他对象).

所以,当你推送一个提交时,git会推送一组引用,如下图所示:

git提交

如果你还没有推动你的主分支,分支的整个历史将被推动.

因此,在您的示例中,当您提交并推送文件时,如果之前没有推送,则将推送整个主分支.

要做你想要的,你需要创建一个没有历史记录的干净分支,就像在这个答案中一样.


Mic*_*ker 6

如果您提交一个文件并推送修订版,它将不会传输整个存储库,它将推送更改.


itr*_*tro 6

仅推送单个文件

git commit -m "Message goes here" filename
Run Code Online (Sandbox Code Playgroud)

仅推送两个文件。

git commit -m "Message goes here" file1 file2
Run Code Online (Sandbox Code Playgroud)