git 获取两个 commit 之间的修改
# 示例
git log [<options>] [<since>..<until>] [[--] <path>...]
# 注意:是左开右闭;
# 例 1,查看具体修改的内容;
git log -p d1ee3..6517
# 例 2,查看两个 commit 之间修改了什么文件;
git whatchanged d1ee3..6517
git回退单一文件版本
git checkout <hash> <filename>
git回退工作区的修改
git reset HEAD filepath/filename
git checkout filepath/filename
git回退版本
git reset --hard 52602b0b04b57b33310fa256707518b126d2648c
使gitignore生效
git rm -r --cached . // 删除本地缓存
git add . // 添加要提交的文件
git批量rm文件
git add -A
git修改最后一条提交(commit信息)
git commit --amend
然后进行修改
然后ctrl + x 退出
然后输入Y
然后输入 回车 即可保存
git修改之前的提交(commit信息)
git rebase -i HEAD~3
然后进行修改(调换commit顺序)
然后ctrl + x 退出
然后输入Y
然后输入 回车 即可保存
git查看远程仓库地址
git remote -v
git查看远程仓库是否有更新
git remote show origin
设置tab键为4空格
git config --global core.pager 'less -x1,5'
git创建分支
git branch branch_name //创建 branch_name 分支
git checkout branch_name //切换到 branch_name 分支
或者
git checkout -b branch_name //创建并切换到 branch_name 分支
git查看所有分支
git branch -a
git将分支修改合到主分支
git checkout master //切换到主分支
git merge branch_name //将branch_name的修改合并到主分支
git checkout -b bugFix //听说这样提交线性
git commit -m "haha"
git rebase master
git checkout master
git rebase bugFix
git修改HEAD指向
git checkout <hash>
git修改相对引用
git checkout master^
git checkout HEAD^
git checkout HEAD~3 //向上移动三次
git直接使用 -f
选项让分支指向另一个提交
git branch -f master HEAD~3 //切换分支branch,并强制指向 HEAD~3
git撤销更改
git revert HEAD //撤销当前的提交,可以push
git reset HEAD~1 //回退到上个版本,但是当前的提交还是存在的
git将分支中的某些提交按顺序合并到master
git cherry-pick <提交号>... //可以是多个分支的不同提交,提交号就是hash值
git rebase -i HEAD~4
然后进行修改
git rebase 来进行合并
git打标签
git tag string HEAD~4
git查找最近的标签
git describe <hash值>
git更新仓库
git fetch //同步远程分支,不修改本地分支的指向
git解决历史偏移
git pull --rebase //不影响本地修改的下拉
git fetch
git merge origin/master
git重新指定分支跟踪远程分支
git checkout -b totallyNotMaster origin/master
git branch -u origin/master branch_name
git提交到远程指定分支
git push origin master
git指定本地分支提交到远程分支
git push origin <source>:<destination>
git下载远程指定分支
git fetch origin master
git下载远程指定分支,到本地指定分支
git fetch origin master:loacl_branch_name
git利用push删除远程分支
git push origin :loacl_branch_name
用带参数的git log看分支的合并情况
git log --graph --pretty=oneline --abbrev-commit
–graph 图形
–pretty=oneline 减少数据
–abbrev-commit 头部数据减少