git add -A 提交所有变化到缓存区
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
--------------------------------------------------------------------------------
(提交到本地git)
git commit -m "" 将暂存区里的改动给提交到本地的版本库。
git commit -a -m "" 能提交修改过,但是没有添加到缓存区的文件(修改过的就能提交)
使用命令:git log 能查看提交历史,后面加上 --pretty=oneline 能使内容单行显示
使用命令:git status 能让我们时刻掌握仓库当前的状态
------------------------------------------------------------------------------
(提交到线上仓库)
git push 将本地仓库修改推送到服务器上的仓库中
git push origin 当前分支推送到origin主机的对应分支
git push -u origin master 将本地的master分支推送到 origin主机,同时指定 origin为默认主机,后面就可以不加任何参数使用git push了。
不带任何参数的 git push,默认只推送当前分支,这叫做 simple方式。
此外,还有一种 matching 方式,会推送所有有对应的远程分支的本地分支。
Git 2.0版本之前,默认采用 matching方法,现在改为默认采用 simple方式。
origin 远程仓库默认的别名,本地的 git 仓库可以添加多个远程仓库
origin是你的远程库,master是该远程库的主分支
git clone 之后,默认的远程仓库叫做 origin
git pull命令
git pull <远程主机名> <远程分支名>:<本地分支名>
比如,要取回origin主机的next分支,与本地的master分支合并,需要写成下面这样 -
git pull origin next:master
如果远程分支(next
)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:
git pull origin next
上面命令表示,取回origin/next
分支,再与当前分支合并。实质上,这等同于先做git fetch
,再执行git merge
。
git fetch origin
git merge origin/next
git fetch和git pull的区别
git fetch:相当于是从远程获取最新版本到本地,不会自动合并。
git pull:相当于是从远程获取最新版本并merge
到本地
git pull origin master
上述命令其实相当于git fetch
和 git merge
在实际使用中,git fetch
更安全一些,因为在merge
前,我们可以查看更新情况,然后再决定是否合并。