git指令备忘

基本配置

  • 通过终端命令修改
1
2
3
4
5
git config --global user.name "xxx"
git config --global user.email "xxx@gmail.com"
git config --global alias ci commit
git config --global alias dog log --all --decorate --oneline --graph
git config --global alias mg merge
  • vi ~/.gitconfig 直接修改文件配置也可以
1
2
3
4
5
6
7
8
9
10
[user]
name = xxx
email = xxx@gmail.com
[alias]
co = checkout
br = branch
ci = commit
st = status
dog = log --all --decorate --oneline --graph
mg = merge

基本命令

1
2
git add -A
git commit -m "备注"

分支、合并

创建分支:git branch f1

删除分支:git branch -d f1 强制git branch -D f1

查看所有:git branch -a 查看远程分支git branch -r

切换分支:git checkout f1

创建并切换到:git checkout -b f2

远端添加分支:git push origin f1 新命名git push origin f1:newname

删除远端分支:git push origin :f1

合并:git merge f1

回滚、撤销

git reset

  • 相对回滚

    git reset mater^

回退两次: git reset mate^^

回退n次: git reset mater~n

  • 绝对回滚

回退到指定版本对应ID:git reset 96147bff8

  • 放弃本地所有变更,回滚到指定版本

git reset --hard 96147bff8

reset三种模式区别

  1. –hard:重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区
  2. –soft:重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中
  3. –mixed(默认):重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中

git revert

撤销一次: git revert HEAD^

回退n次: git revert HEAD~n

回退到指定版本对应ID:git revert 96147bff8

git revert 撤销某次操作,此次操作之前和之后的 commit 和 history 都会保留,并且把这次撤销作为一次最新的提交。git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。相比 git reset,它不会改变现在的提交历史。

git revert 可以用在公共分支上,git reset 应该用在私有分支上。

远程仓库

添加:git remote add origin <url> 上游:``git remote add upstream `

修改:git remote set-url origin <url>

查看:git remote -v

删除:git remote rm upstream

图形工具

Sourcetree - A free Git client for Windows and Mac
Tower - the most powerful Git client for Mac and Windows.
GUI Clients - 更多客户端信息

优秀教程

git - 简明指南l
猴子都能懂的GIT入门

文章目录
  1. 1. 基本配置
  2. 2. 基本命令
  3. 3. 分支、合并
  4. 4. 回滚、撤销
    1. 4.0.1. git reset
      1. 4.0.1.1. reset三种模式区别
  5. 4.1. git revert
  • 5. 远程仓库
  • 6. 图形工具
  • 7. 优秀教程