平台:WIN10
1. 安装
略
2. 创建
在项目文件夹内右键,打开Git Bash here
- 初始化
$ git init
- 配置参数
$ git config --global user.name "History"
$ git config --global user.email abcdefg@qq.com
- 生成ssh公钥
- 远程库:公司服务器
$ cd ~
$ ssh-keygen
运行结束,将生成的~/.ssh/id_rsa.pub文件发给管理者提交到服务器设置中
- 远程库:码云、Github
$cd ~
$rm -rvf .ssh #删除.ssh 目录
$ssh-keygen -t rsa -C abcdefg@qq.com
$cd .ssh
$ls -IF
$cat id_rsa.pub
! 码云和GitHub稍有不同:
3. 自定义远程库
$ git remote add original https://gitee.com/RUNLUO-1/NRF52832_1.git
$ git remote -v # 查看远程仓库
4. 提交本地项目文件到远程仓库
$ git add . #将整个初始化的项目空模板提交,作为初始版本
$ git commit -m "Project Tempete v0.0"
$ git push original master #将本地项目模板推到远程仓库
5. 建立开发分支(dev)
$ git checkout -b dev
也可以用
$ git branch dev
$ git checkout dev
将dev分支推送到远程仓库
git push original dev
6. 建立功能分支(feature)
为开发某一个功能,再建立一个分支(可选:并推送到远程仓库)
$ git checkout -b feature_1
7. 合并功能分支到开发分支
本地完成feature 功能的开发之后,提交至本地仓库
$ git add . #提交所有文件至暂存区
$ git add file1 file2 file3 file4 # 或者仅提交添加或更改的文件
$ git commit -m "Complete feature 1"
将feature_1分支合并到dev分支中,再删除feature_1分支
$ git checkout dev #切换到dev分支
$ git merge --no-ff feature_1
$ git branch -D feature_1 # -D表示强制删除,-d 会提示删除失败
查看提交情况
$ git log --graph --pretty=oneline # 可以看到分支的合并情况
$ git log --oneline
$ git reflog
将完成feature 1的本地dev分支推送到远程仓库
$ git push original dev
8. 合并开发分支到主分支
在feature1 ,feature2, feature3…等功能开发好之后,功能单元完成,将开发分支合并到主分支,产品上线。(一般还有测试release分支,本贴默认全部测试无误)
$ git checkout master #切换到主分支
$ git merge ---no-ff dev
打个标签
$ git tag Beta2020_v1.0 -m "The 1st release on 2020/06/10" //打一个tag
推送目前版本到主分支
$ git push original master
$ git push original --tags
9. 回滚到某个版本
若想要回到某个版本
$ git reset --hard [hash_index]
// 或者
$ git reset --hard HEAD~[number]