1. 全局配置
- 通过命令
git config --global <key> <value>配置, 如git config --global autocrlf input(core 组的core可以省略)git config --global user.name jarvis73(user 组的user不可以省略)
- 或者直接向
~/.gitconfig中写入:[core]editor = vimautocrlf = inputsafecrlf = true[user]email = <address>name = <github name>
2. 本地仓库
2.1 创建过程
- 初始化仓库
git init - 暂存修改 a.txt
git add a.txt - 暂存修改所有文件
git add . - 创建提交
git commit -m "some comments" - 创建分支
git branch <branch name> - 切换分支
git checkout <branch name> - 创建并切换分支
git checkout -b <branch name> 当前分支向前合并到 hotfix
git merge hotfix, 当前分支和hotfix是父子(包含父孙)关系时, 则当前分支直接前进到hotfix; 当前分支和hotfix的第一个公共节点是二者的共同祖先时, 合并是通过考虑当前分支, hotfix, 以及二者的祖先创建了一个”三方合并”来完成的, 会创建一个当前分支和hotfix共同的子节点来表示此次合并.2.2 撤销和删除过程
删除文件此次的全部改动(未暂存)
git checkout -- <filename>- 撤销暂存(暂存后未修改) a.txt
git reset a.txt - 撤销所有暂存(暂存后未修改)
git reset - 删除所有修改(包括已暂存的和未暂存的)
git checkout .谨慎使用 - 删除分支
git branch -d <branch name> - 撤销修改并回退到某节点(保留修改)
git reset --soft <HASH> 撤销修改并回退到某节点(删除修改)
git reset --hard <HASH>谨慎使用2.3 其他操作
提交后, 补充修改了一些内容, 暂存, 最后补充提交
git commit --amend- 搁置修改(用于保留下当前的修改, 并清理工作区)
git stash - 恢复搁置的修改
git stash pop
3. 远程仓库
- 推送到远程仓库
git push origin master, 可以简写git pull - 从远程仓库拉取
git fetch origin master, 可以简写为git fetch - 从远程仓库拉取并合并到当前分支
git pull origin master, 可以简写为git pull
