我是gitHub的初学者。我之前使用过svn但是在网上浏览了许多教程后我没有抓住github。我不知道基本的工作流程。我使用github创建了clone。如果我在文件中进行任何更改假设file_A那么在服务器上推送此文件的正确步骤是什么: 我假设:
git status-> git commit-> git pull - > git push
我怀疑它推送服务器上的所有项目文件但我希望只更新file_A。请建议我使用文件路径完成命令/语法。
答案 0 :(得分:4)
你不是推文件而是改变。因此,如果您克隆了包含大量文件的存储库并且只更改了其中一个文件,那么您只需将更改发送到该文件。在你的情况下:
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
将在您克隆存储库后发送您所做的所有提交。
答案 1 :(得分:1)
如果我可以提出建议 - 你可能会发现不首先关注Github会更容易。相反,如果您还没有,请浏览git(而不是Github)的在线书籍/教程,并使用本地计算机上的命令行学习git的基础知识,而不涉及像Github这样的远程服务器或服务。事实上,你甚至不需要连接到互联网来学习很多git。 This在线图书很棒,从一开始就开始教你如何使用git。一旦您对基础知识充满信心,就可以开始连接到Github等远程机器。
答案 2 :(得分:-1)
Git命令更新git中的文件:
添加上游:(最初你需要这样做) git remote add upstream
将本地更改保存到Temp git stash save
从Master更新Local git pull --rebase upstream master
应用本地更改先前从git master获取的最新代码完成 git stash apply
更新Fork: git状态 git添加“添加到Fork的资源名称” git Commit -m“评论”
将这些更改放入Master中: git Push
然后从Fork创建拉取请求
从Master更新Fork git push origin master