同步操作将从 家有萝莉/GitLab工作流 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
v1.0.2
Git与其它版本控制系统的差异:
Git有三种状态,你的文件可能处于其中之一:已提交(committed)
、已修改(modified)
和已暂存(staged)
。
已提交
表示数据已经安全的保存在本地数据库中。
已修改
表示修改了文件,但还没保存到数据库中。
已暂存
表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
三个工作区域的概念:Git仓库
、工作目录
以及暂存区域
。
Git仓库
是Git用来保存项目的元数据和对象数据库的地方。 这是Git中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
工作目录
是对项目的某个版本独立提取出来的内容。 这些从Git仓库
的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
暂存区域
是一个文件,保存了下次将提交的文件列表信息,一般在Git仓库
中。
如果本文读者还没使用过git,对git的基本概念和命令不是很熟悉,可以参考官方中文教程:Pro Git
GitLab工作流
提供了一种简单、透明和有效的git工作方式,并与问题跟踪系统相结合。
其最大原则叫做上游优先(upsteam first)
,即只存在一个主分支master
,它是所有其他分支的上游。只有上游分支采纳的代码变化,才能应用到其他分支。
准备一台服务器,部署GitLab社区版
参考手册:Visual Studio Code
参考手册:Git
输入初始密码
首次登录需更新密码
使用更新后的密码登录
设置中文界面
刷新界面
运行开始菜单中的Git Bash
,打开Git命令行窗口
# 创建SSH密钥id_rsa,无密码
ssh-keygen -q -b 2048 -t rsa -C "lijin@nantian.com.cn" -f ~/.ssh/id_rsa -N ""
# 复制SSH密钥至剪贴板
cat ~/.ssh/id_rsa.pub | clip
设置SSH密钥,使用Ctrl + v
粘贴
在工作区目录上右键选择Git Bash Here
,打开Git命令行窗口
# 初始化本地仓库
git init smart-bank
# 切换至本地仓库目录,当前分支为master(用于开发环境)
cd smart-bank
# 定义LFS文件类型
git lfs track "*.7z" "*.bin" "*.class" "*.db" "*.dll" "*.doc" "*.exe" \
"*.fdp" "*.gif" "*.ico" "*.iso" "*.jar" "*.jpg" "*.lib" "*.msi" \
"*.ocx" "*.png" "*.pdf" "*.rar" "*.rpm" "*.sfx" "*.swf" "*.sys" \
"*.vsix" "*.wav" "*.zip"
# 创建忽略文件列表
echo ".vscode" > .gitignore
echo "Desktop.ini" >> .gitignore
echo "ehthumbs.db" >> .gitignore
echo "Thumbs.db" >> .gitignore
echo "*.bak" >> .gitignore
echo "*.log" >> .gitignore
echo "*.tmp" >> .gitignore
# 创建自述文件
touch README.md
# 暂存全部变更
git add -A
# 提交至本地仓库
git commit -m "init"
# 创建并切换分支SIT(用于集成环境)
git checkout -b SIT
# 创建并切换分支(用于验证环境)
git checkout -b UAT
# 创建并切换分支(用于生产环境)
git checkout -b PRD
# 切换回开发分支(用于开发环境)
git checkout master
# 添加远程仓库
git remote add origin git@192.168.252.129:wuhan/smart-bank.git
# 开启LFS锁验证
git config lfs.https://192.168.252.129/wuhan/smart-bank.git/info/lfs.locksverify true
# 推送所有分支至远程仓库,首次连接需要输入'yes'确认
git push -u --all origin
The authenticity of host '192.168.252.129 (192.168.252.129)' can't be established.
ECDSA key fingerprint is SHA256:+1txcYH71lDd2/I3gtNN7dHWFOPWHBOcC58RYz82EkY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.252.129' (ECDSA) to the list of known hosts.
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 491 bytes | 491.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0)
remote:
remote: The private project wuhan/smart-bank was successfully created.
remote:
remote: To configure the remote, run:
remote: git remote add origin git@192.168.252.129:wuhan/smart-bank.git
remote:
remote: To view the project, visit:
remote: http://192.168.252.129/wuhan/smart-bank
remote:
To 192.168.252.129:wuhan/smart-bank.git
* [new branch] PRD -> PRD
* [new branch] SIT -> SIT
* [new branch] UAT -> UAT
* [new branch] master -> master
Branch 'PRD' set up to track remote branch 'PRD' from 'origin'.
Branch 'SIT' set up to track remote branch 'SIT' from 'origin'.
Branch 'UAT' set up to track remote branch 'UAT' from 'origin'.
Branch 'master' set up to track remote branch 'master' from 'origin'.
# 设置远程仓库默认分支
git remote set-head origin master
# 显示分支(包括远程分支)
git branch -a
PRD
SIT
UAT
* master
remotes/origin/HEAD -> origin/master
remotes/origin/PRD
remotes/origin/SIT
remotes/origin/UAT
remotes/origin/master
* master
为当前本地分支
remotes/origin/HEAD
为远程默认分支
访问远程仓库https://192.168.252.129/wuhan/smart-bank
设置项目名称、描述及头像
设置保护分支SIT
、UAT
、PRD
根据需求,创建里程碑
分派任务,创建议题
选择要处理的合并请求
在Web IDE
中审阅
审核通过后合并
合并后的分支图
单元测试通过后,将版本发布至SIT
集成环境
# 拉取远程分支
git pull --all
# 切换至集成环境
git checkout SIT
# 合并
git merge master
# 推送至远程仓库
git push
集成测试通过后,将版本发布至UAT
验证环境(无验证环境可略过)
# 拉取远程分支
git pull --all
# 切换至验证环境
git checkout UAT
# 合并
git merge SIT
# 推送至远程仓库
git push
所有测试通过后,将版本发布至PRD
生产环境,并创建标签
# 拉取远程分支
git pull --all
# 切换至生产环境
git checkout PRD
# 合并
git merge UAT
# 推送至远程仓库
git push
# 创建标签
git tag v1.0.0
# 推送标签至远程仓库
git push --tags
需求完成后,关闭里程碑
收到议题后,将议题标记为处理中
在工作区目录上右键选择Git Bash Here
,打开Git命令行窗口
# 克隆远程仓库将拉取全部分支,首次连接需要输入yes确认
git clone git@192.168.252.129:wuhan/smart-bank.git
# 切换至本地仓库目录
cd smart-bank
# 当前分支默认为master,创建并切换分支
git checkout -b Interface-Design
也可只拉取项目指定分支
# 初始化本地仓库
git init smart-bank
# 切换至本地仓库目录
cd smart-bank
# 添加远程仓库
git remote add origin git@192.168.252.129:wuhan/smart-bank.git
# 拉取分支
git fetch origin master
# 创建并切换分支
git checkout -b Interface-Design origin/master
开发完毕后,推送分支
# 推送前合并远程分支
git pull --rebase origin master
# 推送
git push -u origin Interface-Design
合并通过后,任务完成。删除分支
# 删除远程分支
git push origin --delete Interface-Design
# 删除本地分支
git branch -D Interface-Design
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。