【git】 常用操作命令

1 【查看这次合并的信息和其它细节】

      git show-merge 类似 git find-merge

 

2 【git获取分支创建时间,并且按时间先后排序】

[alias] lb = !"for k in `git branch|perl -pe s/^..//`;do echo `git show --pretty=format:\"%Cgreen%ci %Cblue%cr%Creset\" $k|head -n 1`\\\t$k;done|sort"

 

3 【git获取代码提交人和作者】

 

如两天前的提交历史:git log --since=2.days

如指定作者为"BeginMan"的所有提交:$ git log --author=BeginMan

如指定关键字为“init”的所有提交:$ git log --grep=init

如指定提交者为"Jack"的所有提交:$ git log --committer=Jack

注意作者与提交者的关系:作者是程序的修改者,提交者是代码提交人。

4 【常用选项】

https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2

选项

说明

-p

按补丁格式显示每个更新之间的差异。

--word-diff

按 word diff 格式显示差异。

--stat

显示每次更新的文件修改统计信息。

--shortstat

只显示 --stat 中最后的行数修改添加移除统计。

--name-only

仅在提交信息后显示已修改的文件清单。

--name-status

显示新增、修改、删除的文件清单。

--abbrev-commit

仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。

--relative-date

使用较短的相对时间显示(比如,“2 weeks ago”)。

--graph

显示 ASCII 图形表示的分支合并历史。

--pretty

使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

--oneline

--pretty=oneline --abbrev-commit 的简化用法。

5 【本地回滚 文件删除】

git本地文件 add 后变为绿色 怎么回滚?

首先将文件变为红色,执行 git reset head

然后将Untracked files: remove 执行 git clean -df



git reflog show --date=iso 创建日期

根据日趋决定要回滚的commitid 例如

git reset --hard 5d3ca44f3

git reflog --date=local | grep  创建分支来源



Unstaged changes after reset 

解决的办法如下2中办法:

1.git add .

git reset --hard

2.git stash

git stash drop



不是master的分支不准合并

回滚:

git reset head . //回滚本地仓库

git checkout . //本地仓库同步到本地缓存

git log -p -2 //来查看最近两次提交的记录

git log

git reset –hard 8ff24a6803173208f3e606e32dfcf82db9ac84d8



git clean -df //只删除所有untracked的文件

git reset --hard

第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。而第二个命令把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。



git pull = git fetch + git merge

git pull --rebase = git fetch + git rebase

6 【rebase】

在rebase的过程中,有时也会有conflict,这时Git会停止rebase并让用户去解决冲突,解决完冲突后,用git add命令去更新这些内容,然后不用执行git-commit,直接执行git rebase --continue,这样git会继续apply余下的补丁。

在任何时候,都可以用git rebase --abort参数来终止rebase的行动,并且mywork分支会回到rebase开始前的状态

 

7 【Git 本地分支管理基本操作】

查看、切换、创建和删除分支

git br -r # 查看远程分支

git br # 创建新的分支

git br -v # 查看各个分支最后提交信息

git br --merged # 查看已经被合并到当前分支的分支

git br --no-merged # 查看尚未被合并到当前分支的分支

git co # 切换到某个分支

git co -b # 创建新的分支,并且切换过去

git co -b # 基于branch创建新的new_branch

git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除

git co $id -b # 把某次历史提交记录checkout出来,创建成一个分支

git br -d # 删除某个分支

git br -D # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)

或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支

git checkout -t origin/xcomm_zynq_4_4

 

 

 

 

你可能感兴趣的:(git)