HEAD ------> 分支 ----------> 具体提交commit id
第一章 git基本操作
1.1 单枪匹马
要让git对一个目录进行版本控制需要以下步骤:
-
进入要管理的文件夹
-
执行初始化命令
1 | git init |
-
管理目录下的文件状态
1 | git status |
-
管理指定文件(红–>绿)
1 | git add 文件名 |
-
个人信息配置
1 | git config --global user.email "[email protected]" |
-
查看版本记录
1 | git log |
1.2 拓展新功能
1 | git add |
1.3 “约饭”事件
-
回滚到以前的版本
1
2git log
git reset --hard versionId -
回滚到之后的版本
1
2git reflog
git reset --hard versionId
1.4 商城&&紧急修复bug——分支
-
查看分支
1
git branch
-
创建分支
1
git branch 分支名
-
切换分支
1
git checkout 分支名
-
创建并切换分支dev
1
2
3
4
5
6
7
8
9
10git checkout -b dev
#or
#以下是新版本的git才有的功能
#创建分支dev
git switch -c dev
#切换到分支dev
git switch dev -
合并分支
1
2
3
4git merge 要合并的分支
#注意:要切换分支再合并,例如,master分支要合并bug分支,则必须先切换到master分支上
#合并分支时可能产生冲突 -
删除分支
1
git branch -d 分支名
1.5 进军“三里屯”
在家里开发并上传代码
1 | 1.为远程仓库取一个别名叫做origin |
到公司新电脑第一次获取代码
1 | 1.克隆远程代码 |
在公司进行开发
1 | 1.切换到dev分支进行开发 |
回到家继续写代码
1 | 1.切换到dev分支继续写代码 |
开发完毕,要上线
1 | 1.将dev分支合并到master,进行上线 |
1 | git pull origin dev |
1.6 快速解决冲突
-
安装beyond compare
-
在git中进行配置
1
2
3git config --local merge.tool bc3
git config --local mergetool.path '/usr/local/bin/bcomp'
git config --local mergetool.keepBackup false -
应用beyond compare解决冲突
1
git mergetool
1.7 打标签
-
本地
1
git tag -a v1.0 -m "message" commit-id
-
推送到远端
1
2
3
4
5
6
7# 推送特定标签
git push origin v1.0
#or
# 推送所有标签
git push origin --tags -
删除标签
1
2
3
4
5# 本地
git tag -d v1.0
# 远端 推送
git push origin :/refs/tags/v1.0
第二章 配置文件
1.项目配置文件
1 | 项目/.git/config |
2.全局配置文件
1 | ~/.gitconfig |
3.系统配置文件
1 | /etc/.gitconfig |
第三章 免密登录
-
URL中体现
1
2
3
4
5原来的地址:https://github.com/VanCholen/tmpp.git
修改的地址:https://用户名:密码@github.com/VanCholen/tmpp.git
git remote add origin https://用户名:密码@github.com/VanCholen/tmpp.git
git push origin master -
SSH实现(主要采用这种)
1
2
3
4
5
6
71.生成公钥和私钥(默认放在~/.ssh下,id_rsa.pub是公钥、id_rsa是私钥)
ssh-keygen
2.拷贝公钥的内容到github中
3.在git本地中配置ssh地址
git remote add origin [email protected]:VanCholen/tmpp.git
4.以后使用
git push origin master -
git自动管理凭证
第四章 git忽略文件
1 | .gitignore文件 |
第五章 任务管理相关
1 | issues:常见问题 |
分支
-
创建分支
git checkout -b dev
<==> git switch -c dev
-
切换分支
git checkout master
<==> git switch master
-
删除分支
git branch -d dev
标签
-
本地打标签
git tag -a v1.0 -m 说明
-
本地打完标签推远端
git push origin v1.0
ORgit push origin --tags
-
本地删标签
git tag -d v1.0
-
本地删标签后推远端
:ref/tags/标签名
git push origin :refs/tags/v1.0
这个网站很有用: