Git 19个常用的命令
Git 常用命令速查
一、Git 常用命令速查
git push origin :分支名删除远程库分支
git branch 查看本地所有分支
git status 查看当前状态
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git commit -am "init" 提交并且加注释
git remote add origin git@192.168.1.119:ndshow
git push origin master 将文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git push origin master:develop
git push origin master:hb-dev 将本地库与服务器上的库进行关联
git checkout --track origin/dev 切换到远程dev分支
git branch -D master develop 删除本地库develop
git checkout -b dev 建立一个新的本地分支dev
git merge origin/dev 将分支dev与当前分支进行合并
git checkout dev 切换到本地dev分支
git remote show 查看远程库
git add . 目录下所有的文件
git rm 文件名(包括路径) 从git中删除指定文件
git clone git:///schacon/grit.git 从服务器上将代码给拉下来
git config --list 看所有用户
git常用的六个命令
git常用的六个命令
一、git init命令是git常用的基本命令之一,通过该命令可以在当前目录下生成一个新的git的仓库,用于存储你的所有项目文件。
二、git add是git常用的命令之一,通过Git add .或者add后紧跟文件路径,将工作空间的修改添加到暂存区,添加到暂存区的文件,待后面的commit。
三、git commit是git中的常用命令,当我们想要提交更改到仓库时就需要使用此命令,同时也可以了解到每一次更改的内容。通过git commit -m “说明”,就可以将暂存区里的所有内容提交到仓库里。
四、git status命令可以使我们了解到当前仓库的状况,例如有哪些修改被加入到了暂存区,哪些修改被提交了等等。在进行git操作时,我们经常会使用到这个命令。
五、git log是git常用命令之一,我们使用这个命令就可以查看所有已经提交的版本信息。git log命令可以看到我们仓库提交过的所有的历史记录,可以了解到每一次提交的作者,提交时间,以及提交的修改内容等信息。
六、git clone是git中的一项非常重要的功能,使用这个命令,你可以将已经存在的一个项目拷贝下来,并且这个目录独立于原有的仓库。这样可以让你在本地独自开发自己的项目,而不会影响到原有的项目。
总的来说,git init、git add、git commit、git status、git log以及git clone都是git中最常用,也是最重要的六个命令之一。他们在我们日常的项目开发中发挥着非常大的作用,熟练掌握这六个命令对于我们使用git进行版本控制是非常有帮助的。
gitlab的常用命令
gitlab的常用命令
GitLab是一个基于Git的版本控制系统,它提供了一系列常用的命令,用于管理和操作代码仓库。本文将介绍一些常用的GitLab命令,并详细解释其用法和作用。
1. git clone:将远程仓库克隆到本地。
该命令用于将GitLab上的远程仓库克隆到本地。使用该命令时,需指定远程仓库的URL,并提供一个本地目录作为克隆的目标位置。
2. git add:将文件添加到暂存区。
该命令用于将工作目录中的文件添加到Git的暂存区,以便在提交时将其纳入版本控制。
使用该命令时,可以指定特定文件名或使用通配符来添加多个文件。
3. git commit:提交代码更改。
该命令用于将暂存区中的文件提交到本地仓库,并生成一个提交记录。每个提交记录都包含了作者、提交时间、提交信息等关键信息。
4. git push:将本地代码推送到远程仓库。
该命令用于将本地仓库中的代码推送到GitLab上的远程仓库。在使用该命令时,需指定远程仓库的名称和分支名。
5. git pull:从远程仓库拉取最新代码。
该命令用于从GitLab上的远程仓库拉取最新的代码到本地仓库。使
用该命令时,需指定远程仓库的名称和分支名。
6. git branch:管理分支。
该命令用于创建、查看、删除和切换分支。使用该命令时,可以使用不同的选项来实现不同的操作。
7. git merge:合并分支。
该命令用于将指定分支的代码合并到当前分支。使用该命令时,需指定要合并的分支名称。
8. git checkout:切换分支或恢复文件。
该命令用于切换到指定的分支或恢复被修改的文件。使用该命令时,可以指定分支名称或文件名。
git基本命令
git rebase–interactive 交互式分支变基 git reflog 分支等引用变更记录管理 git remote 远程版本库管理 git repo-config* 同义词,等同于 git config git reset 重置改变分支“游标”指向 git rev-parse 将各种引用表示法转换为哈希值等 git revert 反转提交 git rm 删除文件 git show 显示各种类型的对象 git stage* 同义词,等同于 git add git stash 保存和恢复进度 git status 显示工作区文件状态 git tag 里程碑管理
6、邮件相关命令 命令 简要说明 git imap-send 将补丁通过 IMAP 发送 git mailinfo 从邮件导出提交说明和补丁 git mailsplit 将 mbox 或 Maildir 格式邮箱中邮件逐一提取为文件 git request-pull 创建包含提交间差异和执行PULL操作地址的信息 git send-email 发送邮件
4、版本库管理相关命令
命令 简要说明 git count-objects 显示松散对象的数量和磁盘占用 git filter-branch 版本库重构 git fsck 对象库完整性检查 git fsck-objects* 同义词,等同于 git fsck git gc 版本库存储优化 git index-pack 从打包文件创建对应的索引文件 git lost-found* 过时,请使用 git fsck –lost-found 命令 git pack-objects 从标准输入读入对象ID,打包到文件 git pack-redundant 查找多余的 pack 文件 git pack-refs 将引用打包到 .git/packed-refs 文件中 git prune 从对象库删除过期对象 git prune-packed 将已经打包的松散对象删除 git relink 为本地版本库中相同的对象建立硬连接 git repack 将版本库未打包的松散对象打包 git show-index 读取包的索引文件,显示打包文件中的内容 git unpack-objects 从打包文件释放文件 git verify-pack 校验对象库打包文件
gitlab命令详解
1.将本地项目推送到远程仓库
gitinit(初始化)
gitremote-v(查看已经关联的地址)
gitadd.(添加本地仓库)
gitcommit-m"第一次提交"(提交说明)
gitremoteaddoriginxxx(关联远程仓库)
gitpull--rebaseoriginmaster(同步本地与远程仓库)
gitpush-uoriginmaster(提交远程仓库)-f:强制推送至远程
2.IdeaGit回退到某个历史版本
找到要回退的版本号
(右击项目-->Git-->ShowHistory-->选中要回退的版本-
->CopyRevisionNumber)
打开idea的Terminal输入命令
gitreset--hard139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96(后面为版本号)
3.把修改推到远程服务器
gitpush-f-uoriginmaster或者gitpush-f强制同步远程仓库。
4.修改项目关联远程地址方法
修改命令
gitremoteset-urlorigin<url>
手动改
去项目中.git文件夹下,编辑config配置文件中url
5.Git修改分支的名称
需要将分支br_rename_old修改为br_rename_new,执行如下步骤:
1、执行命令gitcheckoutbr_rename_old切换到br_rename_old分支,如果已经在这个分支下,可以不执行此步骤
2、执行命令gitpulloriginbr_rename_old将代码更新到和远程仓库一致
git常用命令解释
GIT ANG REPO
USAGE
1 git command
1.1 git add
∙git add . #将文件先暂存到staging area, stages new and modified, without deleted
∙git add -A #states all
∙git add -u #states modified and deleted, without new
∙git add -i #进入互动模式
∙git add filename #新增一个文件
∙git add modify-file #修改过得文档也要加add,不然在commit时要加-a 1.2 git rm #删除文件
∙git rm filename
1.3 git mv #修改文件名,或搬移目录
∙git mv filename newfilename
1.4 git status #查看状态
1.5 git commit
∙git commit
∙git commit -m 'commit message'
∙git commit -a -m "message"
∙git commit -a -v #-v查看修改的内容
1.6 git branch
∙git branch #列出所有的分支
∙git branch new-branch #产生新的分支
∙git branch new-branch master #由master产生新的分支
∙git branch -d branch #删除分支
∙git branch -D branch #强制删除分支
git常用语句
git常用语句
1. git init - 创建一个新的本地仓库
2. git clone [URL] - 克隆一个远程仓库到本地
3. git add [文件名] - 将文件添加到暂存区
4. git commit -m "提交信息" - 将暂存区的文件提交到本地仓库
5. git push origin [分支名] - 将本地仓库的文件推送到远程仓库
6. git pull origin [分支名] - 从远程仓库拉取最新的文件到本地仓库
7. git branch - 查看当前分支
8. git branch [分支名] - 创建一个新的分支
9. git checkout [分支名] - 切换到指定的分支
10. git merge [分支名] - 合并指定分支到当前分支
11. git status - 查看当前文件状态
12. git log - 查看提交历史
13. git remote add origin [远程仓库URL] - 添加远程仓库地址
14. git remote -v - 查看当前仓库关联的远程仓库地址
15. git diff - 查看当前文件与上次提交的差异
16. git reset [commit] - 撤销提交
17. git stash - 将当前修改的文件暂存起来
18. git stash pop - 恢复最近一次暂存的文件修改
19. git checkout -- [文件名] - 撤销对文件的修改
20. git remote update origin --prune - 清理远程仓库中已删除的分支信息
git命令大全
git init # 初始化本地git仓库(创建新仓库)git config --global "xxx" # 配置用户名git config --global user.email "xxx@" # 配置邮件git config --global color.ui true # git status等命令自动着色git config --global color.status autogit config --global color.diff autogit config --global color.branch autogit config --global color.interactive autogit clone git+ssh://git@192.168.53.168/VT.git # clone远程仓库git status # 查看当前版本状态(是否修改)git add xyz # 添加xyz文件至indexgit add . # 增加当前子目录下所有更改过的文件至indexgit commit -m 'xxx' # 提交git commit --amend -m 'xxx' # 合并上一次提交(用于反复修改)git commit -am 'xxx' # 将add和commit合为一步git rm xxx # 删除index中的文件git rm -r * # 递归删除git log # 显示提交日志git log -1 # 显示1行日志 -n为n行git log -5git log --stat # 显示提交日志及相关变动文件git log -p -mgit show dfb02e6e4f2f7b573337763e5c0013802e392818 # 显示某个提交的详细内容git show dfb02 # 可只用commitid的前几位git show HEAD # 显示HEAD提交日志git show HEAD^ # 显示HEAD的父(上一个版本)的提交日志 ^^为上两个版本 ^5为上5个版本git tag # 显示已存在的taggit tag -a v2.0 -m 'xxx' # 增加v2.0的taggit show v2.0 # 显示v2.0的日志及详细内容git log v2.0 # 显示v2.0的日志git diff # 显示所有未添加至index的变更git diff --cached # 显示所有已添加index但还未commit的变更git diff HEAD^ # 比较与上一个版本的差异git diff HEAD -- ./lib # 比较与HEAD版本lib目录的差异git diff origin/master..master # 比较远程分支master上有本地分支master上没有的git diff origin/master..master --stat # 只显示差异的文件,不显
Git常用命令
初始化git库:git init
提交新版本:git add .
git commit
(git commit -m “版本和开发信息” ;该参数直接输入信息,不在跳出vi窗口)
介绍提交用户:(未介绍的话为系统登录用户)
git config --global “Your Name”
git config --global user.email “you@”
查看日志信息:git log
git log -p //详细信息
git show “commit ID”//显示相关commit编号的详细内容,可输入前4-6个编号
git show exp//显示分支信息
git show HEAD//显示最近一次commit信息
git show HEAD^//查看HEAD的父母的信息
git show HEAD^^ //查看HEAD的父母的父母的信息
git show HEAD~4 //查看HEAD上溯4代的信息
git tag V3 5b888 //以后可以用V3来代替复杂的名称(5b888…)
创建分支exp:git branch exp
显示当前分支:git branch//标注*为当前所在分支
转移到exp分支:git checkout exp//切换分支前需将当前分支内容提交
将某一版本创建分支:git branch exp1 V3//V3 为commit ID编号,exp1为分支名
合并分支:git merge exp//将exp分支合并到当前分支,合并后需再次提交
删除分支:git branch -d exp//因为exp分支已提交,所以可安全删除此分支
git的语法
git的语法
以下是Git的一些常用命令和语法:
1. `git init`:用于获取Git仓库。
2. `git status`:用于获取文件状态。
3. `git status -s`:用于获取精简文件状态。
4. `git add <文件名>`:用于跟踪新文件。
5. `git commit -m "<日志信息>"`:用于提交更新。
6. `git checkout -- <文件名>`:用于撤销对文件的修改(谨慎使用)。
7. `git add .`:用于一次添加多个文件。
8. `git reset HEAD <要移除的文件名>`:用于取消暂存的文件。
9. `git commit -a -m "<日志信息>"`:用于直接跳过暂存,将修改提交到Git仓库。
10. `git rm -f <文件名>`:用于移除文件。
11. `git log`:用于查看提交历史。
12. `git reflog`:用于查看提交历史。
13. `git log -2`:用于查看最近几次提交的历史。
14. `git log -2 --pretty=oneline`:用于在单行上展示最近几次提交的历史。
15. `git log -2 --pretty=format:"%h %an %ar %s"`:用于自定义查看
历史提交记录的输出格式。
16. `git reset --hard <版本id>`:用于返回历史版本。
17. `git reflog --pretty=oneline <版本id>`:用于查看之前的版本。
git中Bash基本操作命令
git中Bash基本操作命令
1)、cd : 改变⽬录。
2)、cd . . 回退到上⼀个⽬录,直接cd进⼊默认⽬录
3)、pwd : 显⽰当前所在的⽬录路径。
4)、ls(ll): 都是列出当前⽬录中的所有⽂件,只不过ll(两个ll)列出的内容更为详细。
5)、touch : 新建⼀个⽂件如 touch index.js 就会在当前⽬录下新建⼀个index.js⽂件。
6)、rm: 删除⼀个⽂件, rm index.js 就会把index.js⽂件删除。
7)、mkdir: 新建⼀个⽬录,就是新建⼀个⽂件夹。
8)、rm -r : 删除⼀个⽂件夹, rm -r src 删除src⽬录,好像不能⽤通配符。
9)、mv 移动⽂件, mv index.html src index.html 是我们要移动的⽂件, src 是⽬标⽂件夹,当然, 这样写,必须保证⽂件和⽬标⽂件夹在同⼀⽬录下。10)、reset 重新初始化终端/清屏。
11)、clear 清屏。
12)、history 查看命令历史。
13)、help 帮助。
14)、exit退出。
15)、#表⽰注释
git remote:查看远程库信息
git remote -v:远程库详细信息
git branch -r , git branch -a 查看远程分⽀
git push 将当前分⽀推送到远程对应的分⽀(若远程⽆对应分⽀,则推送⽆效)
git push origin dev 将分⽀dev提交到远程origin/dev(远程没有则创建, 远程没有dev则创建)
git branch –set-upstream branch-name origin/branch-name 建⽴本地分⽀和远程分⽀的关联
devesco git用法
devesco git用法
Git 是一个分布式版本控制系统,可以帮助开发团队合作管理代码和跟踪代码变更。下面是一些常用的 Git 命令和用法:
1. 初始化仓库:在项目目录下使用 `git init` 命令初始化一个新的 Git 仓库。
2. 克隆仓库:使用 `git clone <仓库URL>` 命令克隆一个现有的 Git 仓库到本地。
3. 添加文件:使用 `git add <文件名>` 命令将文件添加到暂存区。
4. 提交文件:使用 `git commit -m "提交说明"` 命令将暂存区的文件提交到本地仓库。
5. 查看仓库状态:使用 `git status` 命令查看仓库的当前状态,包括修改过的文件和未跟踪的文件。
6. 查看提交历史:使用 `git log` 命令查看仓库的提交历史,包括提交者、提交时间和提交说明等信息。
7. 创建分支:使用 `git branch <分支名>` 命令创建新的分支。
8. 切换分支:使用 `git checkout <分支名>` 命令切换到指定的分支。
9. 合并分支:使用 `git merge <分支名>` 命令将指定的分支合
并到当前分支。
10. 拉取远程仓库变更:使用 `git pull` 命令从远程仓库拉取最
新的代码变更。
11. 推送本地变更到远程仓库:使用 `git push` 命令将本地的代
码变更推送到远程仓库。
12. 回滚变更:使用 `git revert <提交号>` 命令回滚指定的提交。
git最常用命令
Git 常用命令整理
初始化配置
1.#配置使用git仓库的人员姓名
2.git config --global "Your Name Comes Here"
3.#配置使用git仓库的人员email
4.git config --global user.email you@
5.#配置到缓存默认15分钟
6.git config --global credential.helper cache
7.#修改缓存时间
8.git config --global credential.helper 'cache --timeout=3600'
9.git config --global color.ui true
10.git config --global alias.co checkout
11.git config --global alias.ci commit
12.git config --global alias.st status
13.git config --global alias.br branch
14.git config --global core.editor "mate -w" # 设置Editor使用textmate
15.git config -1 #列举所有配置
16.#用户的git配置文件~/.gitconfig
查看、添加、提交、删除、找回,重置修改文件
1.git help # 显示command的help
2.git show # 显示某次提交的内容
3.git show $id
Git的常用命令
Git的常⽤命令Git常⽤命令汇总以及其它相关操作⼀、常⽤的git命令
--⽂件⽬录操作命令
mkdir * 创建⼀个空⽬录 *指⽬录名
pwd显⽰当前⽬录的路径。
cat * 查看*⽂件内容
git rm * 删除**⽂件
--git初始化操作
git init 把当前的⽬录变成git仓库,⽣成隐藏.git⽂件。
git remote add origin url 把本地仓库的内容推送到GitHub仓库。
git clone git@url/test.git 从远程库克隆
git add * 把x⽂件添加到暂存区去。
git commit –m "*"提交⽂件 –m 后⾯的是注释。
--git 克隆分⽀
git clone xxx.git 最简单直接的命令
git clone xxx.git "指定⽬录" clone到指定⽬录
git clone -b branchname xxx.git clone时创建新的分⽀替代默认Origin HEAD(master)
--clone 远程分⽀
git clone 命令默认的只会建⽴master分⽀,如果你想clone指定的某⼀远程分⽀(如:dev)的话,可以如下:
1. 查看所有分⽀(包括隐藏的) git branch -a 显⽰所有分⽀
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
2. 在本地新建同名的("dev")分⽀,并切换到该分⽀
git checkout -t origin/dev
Git基本操作命令合集
Git基本操作命令合集
平时⾃⼰敲敲代码,使⽤Git命令也渐渐多了起来。使⽤起来的确很⽅便,今天来分享下Git基本概念和本地代码提交到github上的过程,很简单的,多操作⼏次就会了。Git定义
Git 是⼀个开源的分布式版本控制系统,⽤于敏捷⾼效地处理任何或⼩或⼤的项⽬。
Git 与常⽤的版本控制⼯具 CVS, Subversion 等不同,它采⽤了分布式版本库的⽅式,不必服务器端软件⽀持。
Git 与 SVN 区别
1、Git 是分布式的,SVN 不是:这是 Git 和其它⾮分布式的版本控制系统,例如 SVN,CVS 等,最核⼼的区别。
2、Git 把内容按元数据⽅式存储,⽽ SVN 是按⽂件:所有的资源控制系统都是把⽂件的元信息隐藏在⼀个类似 .svn、.cvs 等的⽂件夹⾥。
3、Git 分⽀和 SVN 的分⽀不同:分⽀在 SVN 中⼀点都不特别,其实它就是版本库中的另外⼀个⽬录。
4、Git 没有⼀个全局的版本号,⽽ SVN 有:⽬前为⽌这是跟 SVN 相⽐ Git 缺少的最⼤的⼀个特征。
5、Git 的内容完整性要优于 SVN:Git 的内容存储使⽤的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和⽹络问题时降低对版本库的破坏。Git安装
安装成功后,就可以使⽤命令⾏的git⼯具(已经⾃带了ssh客户端)了,另外还有⼀个图形界⾯的 Git 项⽬管理⼯具。
在开始菜单⾥找到"Git"->"Git Bash",会弹出Git命令窗⼝,你可以在该窗⼝进⾏Git操作。
Git基本命令
常用的git和repo命令
常⽤的git和repo命令⾸先下图是git的流程图
相关概念
svn与git命令的对⽐
git常⽤命令
git log // 查看当前库的git log信息
git status ./ // 查看当前库的状态
git diff ./ // ⽐较当前库的修改情况
git add ./ // 将当前库的代码修改提交到暂存区
git commit ./ // 将代码提交到本地分⽀
git commit --amend ./ // 追加修改
git reset HEAD~1 // 将当前库恢复到HEAD的上⼀个版本
其他命令
git config -l // 参看配置信息
git show HEAD^ // 查看HEAD的上⼀个版本信息
git show HEAD~4 // 查看HEAD的上溯4代的信息
git reset --hard HEAD^^ // 回退两个版本
git reset --hard 8308f03 // 回退到指定的commitID前7位的版本
git clean -dfx //清除库上没有的东西
git remote -v // 参看远程仓库
git branch -a // 参看远程分⽀
git log --oneline --decorate --graph --all // 图像显⽰git log信息
git log --pretty=format:"%h - %cd %s" --graph // 列出指定格式的log
git log -since="2 weeks ago" // 显⽰2周前到现在所有的历史记录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Git 19个常用的命令
Git 19个常用的命令
1. 超实用 Alias
1 2 3 4 5 6 7 8 alias g="git"
alias gb="git branch"
alias gco="git checkout"
alias gcmsg="git commit -m"
alias gamend="git commit --amend -C HEAD"
alias gst="git status"
alias log="git log --oneline --graph --decorate --color=always" alias logg="git log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold
green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative"
2. 取回远端 master 与本地 master 分支合并 1 2 3 4 5 6 7 gco master g fetch --all 或者 g fetch origin master g reset --hard origin/master(本地没有修改,所以完全覆盖也没关系) 或者 g rebase origin/master (本地有修改还没push )
3. 推送分支到远端
假设现在所在的分支是import ,指定推送到远端分支liujin-import 1 g push origin import:liujin-import
假如远端的 liujin-import 分支已经不需要,可以直接覆盖掉 1 g push -f origin import:liujin-import
4. 追加文件到某个 commit
有时候修完某功能并提交了 commit 之后才发现还有一点小修改,这时候又不想再提交一个commit ,可以追加这个文件到前一个commit ,步骤如下: 1 2 git add 你要追加修改的文件
git commit --amend -C HEAD 或者 gamend
5. 查找包含某文件的 commit
1 2 git log 文件路径
git show commit_id
或者
1 git log --follow filename(绝对路径)
Ref: List all commit for a specific file
6. 把一个 commit 分拆为两个 commit
老大常说要养成一个小改动对应一个commit 的习惯,但是有时候写得太乱懒得去分割就把很多改动做成了一个commit ,这样子增加了以后维护的难度,所以要把一个 commit 分拆为多个 commit 怎么办呢?
∙ 首先把你要分拆的 file reset 了:
1 2 git reset HEAD~1 path/to/file
# This doesn't delete your changes to path/to/file
∙ 接着修改当前这个 commit 的 message ,命令是:
1 2 git commit --amend -v
# -v 参数是打开editor 编辑
∙ 然后就可以把 reset 出来那个 file 新建一个 commit ,命令是:
1 git commit -v path/to/file
这样就把一个 commit 分拆为两个啦,^_^
7. 删除某些 commit
1 git rebase -i HEAD~10
8. 追加修改到之前某个 commit
假如 gst 发现已经有文件被修改,这时候需要把修改暂存起来。 1 git stash
接着找到你需要追加修改的那个commit id ,如4b739bb
1 2 g rebase 4b739bb~ -i 或者
g rebase -i HEAD~5 #列出最近5个commit
这时候会自动打开编辑器,把你需要修改的 commit 前面的 pick 改成 edit ,保存,关闭编辑器,这时候会回到终端,再输入:
1 g stash pop
把暂存的修改读出来,然后做修改,g add .,最后
1 g rebase --continue
9. 查找含有特定关键字的 commit
git log --grep
最基本的用法
git log --grep=frotz --grep=nitfol --since=1.month
查找一个月以内commit log message 里含有 frotz 或者 nitfol 的 commits
git log --grep=frotz --author=Linus
查找指定作者
git grep -l -e frotz --and -e nitfol
查找同一行含有 frotz 和 nitfol 的文件
git grep -l --all-match -e frotz -e nitfol
查找文件里面含有 frotz 和 nitfol 的文件(不局限于同一行)
10. 清空 git working copy 还没追踪的文件 git clean -f
git clean -f -d
如果还想删除目录
git clean -f -X
如果只是想删除忽略的文件
git clean -f -x
如果想删除忽略和非忽略的文件
11. 清理本地仓库
长时间做一个项目,经常需要 git fetch ,这样做每次都会拉回远端的全部分支。 即使远端有些分支已经删除,但是运行git branch -a 还是会显示已删除的分支, 长时间下来这个列表就会很长很长,这时候就需要清理一下本地的仓库了: 1 2 git remote prune origin # `prune`会删除任何不存在于远端仓库的分支,这样运行 `git branch -a`命令的时候顿时就清静了
12. 创建追踪远端分支的本地分支
1 2 gb dev origin/r1-dev
#Branch dev set up to track remote branch r1-dev from origin.
13. 分支移动
1 2 g branch -f master HEAD~3
# 把 master 分支强制移到 HEAD 前面第三个 commit
14. Revert 一个 Merge
git revert -m 1 M -> W