基本配置
- 通过终端命令修改
1 | git config --global user.name "xxx" |
vi ~/.gitconfig
直接修改文件配置也可以
1 | [user] |
基本命令
1 | git add -A |
分支、合并
创建分支: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三种模式区别
- –hard:重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。
- –soft:重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。
- –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 - 更多客户端信息