1.Git中文件状态转换过程
在Git中,文件状态变换如下图:
从远程仓库克隆一个仓库到本地,克隆的是远程仓库的所有信息,包括提交历史,而在本地显示的是远程仓库最新的文件快照。
2.在本地仓库新增一个文件并推送至服务器
新增的文件首先会显示是未跟踪状态(untracked),也就是版本不会控制它,在SourceTree中,显示如下:
勾选这个未跟踪的文件,文件状态就会变成已暂存(staged)
已暂存的文件,Git会计算它的校验和,这个时候就可以提交了,点击提交:
注:提交说明很重要,一定要写清楚,这样,在整个提交历史中,就可以很清楚地知道每次提交都干了些什么,也方便追踪。
提交之后,并没有推送到服务器上,别人也更新不到你的更新,只是在本地上生成了相关提交的信息
提交完后,Git会和最新一次从服务器拉取的对应分支做比较,显示你超了几个版本,或是落后了几个版本,若是超前,则说明此分支并没有被其他人更新并推送至服务器过;若有超前和落后,则说明别人已经在此分支上做了更新,将更新推送至服务器,此时,你需要先合并别人的更新,再推送合并后的更新。
如果需要将自己的更新让别人也能更新到,则需要将自己的本次提交推送至服务器,点击推送:
推送时,要确定好是推送至服务器的那个分支。
至此,他人就可以更新到你的更新了。