git使用

来源:互联网 发布:北京奥运会姚明数据 编辑:程序博客网 时间:2024/06/06 03:20

git配置

git config --global user.name "zhangsan"
git config --global user.email zhangsan@xxx.com

概念解释

工作区  工作代码

暂存区 本地缓存

版本库  本地库


git diff

1. git diff  工作区和暂存区比较

2. git diff HEAD 工作区和HEAD分支比较

3. git diff --cached 暂存区和HEAD

4. git diff B A 里程碑B和A对比


HEAD  ^符号

HEAD代表版本库最近一次提交

符号^ 可以用于指代父提交,就是上一次提交

HEAD^ 代表版本库的上一次提交。最近一次提交的上一次提交

HEAD^^ 是HEAD^的上一次提交


git reset

1. git reset [-q] [<commit>] [--] <paths>...

第一种用法命令中包含路径<paths>,不会重置引用,不会改变工作区,而是用指定提交commit下的文件替换暂存区的文件。commit没有默认是HEAD

例如:git reset HEAD <paths>相当于取消之前执行的git add <paths>命令时改变的暂存区。

2. git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]

<commit>都是可选项,可以使用引用或提交ID,如果省略默认就是使用了HEAD指向的提交ID

第二种用法,根据不同的选项,可以对暂存区和工作区重置。

1)使用--hard参数,如:git reset --hard <commit>

替换引用的指向,替换暂存区,替换工作区

2) 使用--soft参数,

替换引用指向

3)使用--mixed或不使用参数

替换引用的指向,替换暂存区


git checkout

1. git checkout  [-q] [-<commit>] [--] <paths>...

第一种用法 commit是可选项,如果省略则相当于从暂存区替换工作区文件。如果有commit,相当于commit指向的文件替代工作区和暂存区

git checkout . 或者 git checkout -- <file> 会用暂存区的全部文件或指定文件替换工作区文件。这个操作会清除工作区未添加到暂存区的改动。

git checkout HEAD . 或者 git checkout HEAD <file> 会用HEAD指向的master分支中的全部或者部分文件替换暂存区和工作区的文件。这个操作会清除工作区未提交的改动,也会清除暂存区未提交的改动。

2. git checkout [<branch>]

第二种用法,git checkout 分支 切分支

3. git checkout [-m] [[-b | --orphan] <new_branch>] [<start_point>]

第三种方法,gitbranch –r查看分支gitcheckout xxx/xxx-android-4.4.4_r2_CMCC -b xxx-android-4.4.4_r2_CMCC


git stash

1. git stash

保存当前工作进度。会分别对暂存区和工作区的状态进行保存。也会对当前的暂存区和工作区重置

2. git stash list

显示进度列表 git stash 可以多次保存工作进度,并且在恢复的时候进行选择

3. git stash pop [--index] [<stash>]

如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的列表中清除。

如果提供<stash>参数(来自git stash list显示的列表),则从该<statsh>中恢复。选项--index除了恢复工作的文件外,还尝试恢复暂存区。

4. git stash [save [--patch] [-k | --[no-]keep-index] [-q | --quiet] [<message>]

这是第一条的完成版。git stash save "message..." 保存工作进度时,加上说明

--patch显示工作区和HEAD的差异

-k或--keep-index参数,在保存进度后不会将暂存区重置。默认会重置暂存区和工作区

5. git stash apply  [--index] [<stash>]

和git stash pop一样,就是不会删除进度列表中相对应的存储。

6. git stash drop [<stash>]

删除一个存储的进度,默认删除最新的进度

7. git stash clear

删除所有存储的进度


git rm

git rm --cached <file> 删除暂存区文件,工作区不受影响

git rm 提交删除文件到版本库


git blame

git blame 文件 查看整个文件每行的提交

git blame -L 开始行号, +结束行号 文件 具体查看文件哪几行的提交 开始行号,结束行号可以使用+号代表多少行


git commit

git commit提交

git commit --amend修改上一次提交


repo命令集

1. repo status 查看各个git仓的状态

2. repo diff 各个仓的差异




1 0
原创粉丝点击