git常用命令

1.改名命令

git mv file_from file_to

2.查看提交历史

git log

一个常用的选项是 -p,用来显示每次提交的内容差异,也可以加上 -2 来仅显示最近两次提交

git log -p -2

该选项除了显示基本信息之外,还在附带了每次 commit 的变化。 当进行代码审查,或者快速浏览某个搭档提交的 commit 所带来的变化的时候,这个参数就非常有用了。

也可以为 git log 附带一系列的总结性选项。 比如说,如果你想看到每次提交的简略的统计信息,你可以使用 --stat 选项

git log --stat

另外一个常用的选项是 --pretty。 这个选项可以指定使用不同于默认格式的方式展示提交历史。 这个选项有一些内建的子选项供你使用。 比如用 oneline 将每个提交放在一行显示,查看的提交数很大时非常有用。 另外还有 shortfull 和 fuller 可以用,展示的信息或多或少有些不同,请自己动手实践一下看看效果如何。

git log --pretty

但最有意思的是 format,可以定制要显示的记录格式。 这样的输出对后期提取分析格外有用 — 因为你知道输出的格式不会随着Git的更新而发生改变:

git log --pretty=format:"%h -%an,%ar : %s"

format常用选项

选项

选项说明

%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 --date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

3.版本回退命令

同上面的git log一起使用,然后会退到某个版本

git reset --hard commitID

4.撤消修改的命令

1) 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,使用下面命令

git checkout -- fileName

eg: git checkout -- readme.txt

备注:这里的 -- 是不能少的

2)当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了   1),第二步按  1)操作。

git reset HEAD fileName

eg:git reset HEAD readme.txt

 5.分支各项

1)新建分支

git branch branchName

2)切换到分支

git checkout branchName

 3)这两条命令也可以合并起来写,创建+切换分支

git checkout -b branchName

4)合并分支,把名为branchName合并到master,记住要切换到master主分支上再合并

git merge branchName

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

git merge --no-ff -m "xxxx" branchName

 5)删除分支

git branch -d branchName

如果要丢弃一个没有被合并过的分支,也可以通过这条命令强行删除

 6)查看分支

git branch

 7)查看分支合并图

git log --graph

  更详细(git log --graph --pretty=oneline --abbrev-commit)

8)推送分支

推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:

git push origin master

  如果要推送其他分支,比如branch2,就改成:

git push origin branch2

 

6.删除文件

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:

rm test.txt

  这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

现在你要从版本库中删除该文件,就用命令git rm删掉,然后 git commit

git rm hello.ph
git commit -m "delete hello.ph file"

  

这样,文件就从版本库中被删除了。

posted @ 2016-11-18 14:05  OliveKong  阅读(311)  评论(0编辑  收藏  举报