目录
git 下载
查看版本
git remote -v
回退版本
git放弃本地文件修改---未使用git add 缓存代码
已经使用了 git add 缓存了代码
已经用 git commit 提交了代码。
git 打patch
git 代码提交
git log
git show
git status
git diff
怎么用git diff master origin/master
git clone ‘url’ –b ‘branch’
git clone 'url' 'dir' -b 'branch'
$ git remote -v
origin https://github.com/tianqixin/runoob-git-test (fetch)
origin https://github.com/tianqixin/runoob-git-test (push)
origin 为远程地址的别名。
显示某个远程仓库的信息:
git remote show [remote] ------ git remote show origin
git checkout . # 撤销对所有已修改但未提交的文件的修改,但不包括新增的文件
git checkout [filename] # 撤销对指定文件的修改,[filename]为文件名
此命令不会删除新建的文件,因为新建的文件还没加入git管理系统中,所以对git来说是未知,只需手动删除即可,或使用git clean清除没有加入版本库的文件:
git clean
-n 并不删除操作,只显示将被清理的文件列表
-f 删除文件,但不会动.gitignore里标记的
-d 删除目录,但不会动.gitignore里标记的
-X 仅删除.gitignore里标记的文件
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所有的缓存可以使用 git reset HEAD 命令。
此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。
可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard commitid
git reset --hard HEAD^
$ git format-patch HEAD^^^ #生成最近的3次commit的patch
$ git format-patch HEAD^^^^ #生成最近的4次commit的patch
$ git format-patch
$ git format-patch -1
$ git format-patch
$ git format-patch --root
生成了.rej文件我们首先用git diff xxx 看文件被修改了什么
(1)git diff:当工作区有改动,临时区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,临时区不为空,diff对比的是“工作区与暂存区的共同文件”
(2)git diff --cached 或 git diff --staged:显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的增删改
(3)git diff HEAD:显示工作目录(已track但未add文件)和暂存区(已add但未commit文件)与最后一次commit之间的的所有不相同文件的增删改。
(4)git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别
(4.1) git diff branch1 branch2 --stat 显示出所有有差异的文件(不详细,没有对比内容)
(4.2) git diff branch1 branch2 显示出所有有差异的文件的详细差异(更详细)
(4.3) git diff branch1 branch2 具体文件路径 显示指定文件的详细差异(对比内容)