Git是开发过程中经常用到的,这篇文章仅做记录,自己在使用过程的常见命令。
1.基本操作
git init 初始化仓库
git clone 下载一个项目
git add 添加文件到仓库
git status 查看仓库当前状态
git diff 比较文件不同
git commit 提交暂存区到本地仓库
git reset 回退版本
git rm 删除工作区文件
git mv 移动工作区文件
git log 查看历史提交记录
git blame <file> 查看指定文件修改记录
git remote 远程仓库操作
git fetch 从远程仓库获取代码
git pull 下载远程代码并合并
git push 上传远程代码并合并
2.打补丁
git apply <file. Patch>
git am <file. Patch>
在git apply打不上的情况下,可以使用如下命令:
git apply --reject <file.patch>
将可以打的补丁打了,剩下的会产生.rej文件,逐一打开rej文件手动打补丁
3.查看提交记录
//查看指定作者的提交记录
git log --author="zhnagsan"
//指定时间段
git log --before='2021-4-23' --after='2021-3-31'
指定作者某一个时间段之内的提交记录
git log --git log --author='zhangsan' --before='2021-4-23' --after='2021-3-31' --name-only
4.生成补丁
//当前提交记录下的补丁包
git format-patch -1 <id>
//当前提交记录往前n次的补丁包
git format-patch -n <id>
// 最近一次的patch
git format-patch -1
// 最近两次的patch
git format-patch -2
// 未提交的修改生成补丁
git diff > filename.patch
5.回退版本
// 强制回退到xxx版本
git reset --hard <xxx>
// 仅把提交信息回退,内容不回退
git reset --soft <xxx>
6.查看历史记录
git reflog
7. 分支管理
//查看分支
git branch
//查看关联的远端分支
git branch -vv
//新建分支dev
git branch dev
//切换分支
git checkout dev
//新建并切换分支
git checkout -b dev
//删除分支
git branch -d dev
git branch -D dev
8.git stash使用
可以将临时的修改暂存,处理别的事情,等处理完毕再恢复工作现场。
//将当前为提交的工作存储起来
git stash
//查看存储的工作点
git stash list
//恢复工作现场,并删除list
git stash pop
//恢复到制定的工作点
git stash apply stash@{0}
9. 回退提交
git revert commit_id
10.reabase
我经常用于删除中间的提交或者改变提交顺序等等
//要删除的提交的前一个提交
git rebase -i commit_id
//将要删除的 commit 前面的 `pick` 改成 `drop`