git初始化
-
git -v
bash
git config --global user.name ""
git config --global user.email ""
git config --global credential.helper store
git config --global --list
- 省略(Local) 本地配置,只对本地仓库有效
- --global 全局配置,所有仓库生效
- --system 系统设置,对所有用户生效
新建仓库
git init
git init 仓库名
git clone 远程仓库地址
工作区域和文件状态
- 工作区
- 暂存区
- 本地仓库
添加和提交文件
- git rm --cached 取消暂存区
- git ls-files 查看暂存区
- git commit -m ""
- git commit -am "" 添加到暂存区同时提交
reset回退
diff查看差异
git diff 版本1 版本2 查看两次版本差异
git diff 版本1 HEAD HEAD指向最新提交
git diff HEAD~/^ HEAD 查看与上一次的区别
git diff HEAD~2 HEAD 最新和HEAD的前两个版本的区别
git diff HEAD~2 HEAD file1 最新和HEAD的前两个版本file1的区别
rm删除文件
.gitignore忽略文件
生效前提:不能是已经被添加到版本库中的文件
ssh配置和克隆仓库
在config中添加如下配置
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsaHost
关联本地和远程
在github有提示
-
git remote -v
-
git pull origin Master:Master
分支简介和基本操作
git branch 分支名 创建分支
git switch(更推荐)/checkout 分支
git checkout 文件/分支
- 当分支与文件名冲突,默认切换分支
git merge 分支 将指定分支合并到当前分支
git log --graph --oneline --decorate --all 查看分支合并图
git branch -d 分支 删除已经被合并的分支
git branch -D 分支 强制删除分支(不管是否合并)
解决合并冲突
当两个分支修改了一个同一行的代码,自动合并就会出现错误,此时需要我们手动修改文件,再重新暂存提交就可以解决,使用git merge --abort
放弃本次合并
回退和Rebase
git checkout -b dev 6c740d
恢复分支
分支管理
-
GitFlow
-
Github Flow