git commit、git push、git pull、 git fetch、git merge 的含义与区别
git commit:是将本地修改过的文件提交到本地库中;
git push:是将本地库中的最新信息发送给远程库;
git pull:是从远程获取最新版本到本地,并自动merge;
git fetch:是从远程获取最新版本到本地,不会自动merge;
git merge:是用于从指定的commit(s)合并到当前分支,用来合并两个分支;
$ git merge -b // 指将 b 分支合并到当前分支
git pull 相当于 git fetch + git merge。
git 基本操作注意点总结:
git clone
复制本地仓库的命令方式。
:想克隆去另一个地方的路径。例如 git clone d:/git e:/git11 是将 d:/git 的仓库(即包含隐藏文件 .git 的目录)克隆到 e:/git11 目录下。
注意:
1、 目录必须没有在文件系统上创建,或创建了但里面为空,不然会克隆不成功。
2、与从远程拉取仓库不同,路径的最后不用写 .git 来表明这是一个仓库。
git status –s
获得简短的状态输出。
git diff
git diff:查看工作区与暂存区的不同。
git diff –cached []:查看暂存区与指定提交版本的不同,版本可缺省(为HEAD)。
git diff :查看工作区与指定提交版本的不同。
git diff …:查看2个指定提交版本的不同,其中任一可缺省(为HEAD)。
git diff …:查看2个不同分支指定提交版本的不同,其中任一可缺省(为HEAD),该命令相当于git diff $(git-merge-base A B) B。
git commit –am “”
直接提交全部修改,相当于 add 和 commit 一起执行了。
注意:全部文件为 tracked 才行,你新建了文件为 untracked 时,该命令不会执行。
git checkout
与 git reset 不同,reset 是替换整个目录树,多余的文件将被删除。而 checkout 只是替换指定的文件,对多余的文件保留不做任何处理。
git rm
把文件从工作区和暂存区中删除。使用 —cached 只从暂存区中删除。使用 –rf 可删除指定目录下的所有文件和子目录。
git mv
在工作区和暂存区中进行移动或重命名。若 不为一个目录名,则执行重命名。如果为一个目录名,则执行移动。