GIT 常用命令

目录

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 下载

git clone ‘url’ –b ‘branch’

git clone 'url' 'dir' -b 'branch'

查看版本

git remote -v

$ 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放弃本地文件修改---未使用git add 缓存代码

git checkout .      # 撤销对所有已修改但未提交的文件的修改,但不包括新增的文件
git checkout [filename]     # 撤销对指定文件的修改,[filename]为文件名

此命令不会删除新建的文件,因为新建的文件还没加入git管理系统中,所以对git来说是未知,只需手动删除即可,或使用git clean清除没有加入版本库的文件:

git clean 
    -n 并不删除操作,只显示将被清理的文件列表
    -f 删除文件,但不会动.gitignore里标记的
    -d 删除目录,但不会动.gitignore里标记的
    -X 仅删除.gitignore里标记的文件

已经使用了  git add 缓存了代码

可以使用  git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所有的缓存可以使用 git reset HEAD  命令。

此命令用来清除 git  对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。

已经用 git commit  提交了代码。

可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard  commitid

git reset --hard HEAD^

git 打patch

git diff file >

git diff file > test.patch

$ git format-patch HEAD^     #生成最近的1次commit的patch

$ git format-patch HEAD^^   #生成最近的2次commit的patch

$ git format-patch HEAD^^^              #生成最近的3次commit的patch

$ git format-patch HEAD^^^^                  #生成最近的4次commit的patch

$ git format-patch ..                                              #生成两个commit间的修改的patch(包含两个commit. 都是具体的commit号)

$ git format-patch -1                                                    #生成单个commit的patch

$ git format-patch                                                        #生成某commit以来的修改patch(不包含该commit)

$ git format-patch --root                #生成从根到r1提交的所有patch

检查patch文件: git apply --stat newpatch.patch

检查patch 是否打成功 : git apply  --check  xx.patch

使用patch: git apply   xx.patch

如果有错误:$ git apply PATCH --reject

生成了.rej文件我们首先用git diff xxx 看文件被修改了什么

 

git 代码提交

git add

git commit -m 'message'

git push 'url' HEAD:refs/for/'branch'

git log

git log

git log --oneline

git show

git status

git diff

(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 具体文件路径 显示指定文件的详细差异(对比内容)
 

 

 

你可能感兴趣的:(git)