我是 gitHub 的初学者。我以前使用过 svn,但是在浏览了网上的许多教程后,我并没有掌握 github。我对基本的工作流程一无所知。我使用 github 创建了克隆。如果我对文件进行任何更改假设 file_A 那么在服务器上推送此文件的正确步骤是:我假设:
git status->git commit->git pull->git push
我怀疑它是否会在服务器上推送所有项目文件但我希望只更新 file_A。请建议我使用文件路径完成命令/语法。
我是 gitHub 的初学者。我以前使用过 svn,但是在浏览了网上的许多教程后,我并没有掌握 github。我对基本的工作流程一无所知。我使用 github 创建了克隆。如果我对文件进行任何更改假设 file_A 那么在服务器上推送此文件的正确步骤是:我假设:
git status->git commit->git pull->git push
我怀疑它是否会在服务器上推送所有项目文件但我希望只更新 file_A。请建议我使用文件路径完成命令/语法。
您不是在推送文件,而是在更改。因此,如果您克隆了包含大量文件的存储库并且只更改了其中一个,那么您只是将更改发送到该文件。在你的情况下,这将是:
git clone git@github.com/some/repo .
git status # nothing has changed
vim file_A
vim file_B
git status # file_A and file_B have changed
git add file_A # you only want to have the changes in file_A in your commit
git commit -m "file_A something"
git status # file_B is still marked as changed
您可以并且应该继续进行更改并提交它们,直到您对结果感到满意为止。只有这样,您才应该将更改推送回 GitHub。这可以确保在此期间克隆存储库的其他所有人都不会得到您可能损坏的正在进行的工作。
git pull origin master
git push origin master
将发送您在克隆存储库后所做的所有提交。
如果我可以提出建议 - 你可能会发现不首先关注 Github 会更容易。相反,如果您还没有,请阅读 git(不是 Github)的在线书籍/教程,并使用本地计算机上的命令行学习 git 的基础知识,而无需涉及远程服务器或像 Github 这样的服务。事实上,你甚至不必连接到互联网就可以学习很多 git。 这本在线书非常棒,从头开始,教你 git 是如何工作的。一旦你对基础有信心,你就可以开始连接到远程机器,比如 Github。
在 git 中更新文件的 Git 命令:
添加上游:(最初你需要这样做) git remote add upstream
将本地更改保存到临时 git stash save
从 Master 更新本地 git pull --rebase upstream master
应用本地更改 较早前对取自 git master 的最新代码完成 git stash apply
更新 Fork: git Status git add "Resource Name to Add to Fork" git Commit -m " Comments"
将这些更改放在 Master 中:git Push
然后从 Fork 创建拉取请求
从 Master 更新 Fork git push origin master