本文最后更新于 2024年9月18日 晚上
Git Flow 的常用分支
生产分支(master)
Master分支是仓库的主分支,这个分支包含最近发布到生产环境的代码,最近发布的Release,
这个分支只能从其他分支合并,不能在这个分支直接修改
补丁分支(hotfix)
当我们在生产环境发现新的Bug时候,我们需要基于master分支创建一个Hotfix分支,然后在Hotfix分支上修复bug,完成Hotfix后,我们要把hotfix分支合并回Master和Develop分支
发布分支(release)
当你需要发布一个新功能的时候,要基于Develop分支创建一个Release分支,在Release分支测试并修复bug,完成release后,把release合并到master和develop分支
## 开发分支(develop)
这个分支是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支
功能分支(feature)
feature分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release
文件
这里一部分与linux终端下的命令相同。
创建文件
1 2 3 4
| touch File1Name File2Name
touch text{ 0001..2000 }.txt
|
删除文件
1 2 3 4 5 6 7 8
| rm <文件名>
git rm <文件名>
rm -r <目录名>
rmdir <目录名>
|
git文件状态
显示当前状态
加入文件到缓存区
将版本更迭
查看日志
1 2 3 4 5 6
| git reflog
git reflog show --all
git reflog show <分支名>
|
分支管理
创建分支命令
切换分支命令
1 2
| git switch <分支名> git checkout <分支名>
|
查看分支
合并分支
1 2 3 4
| git merge <副分支名>
git merge <副分支名> --allow-unrelated-histories
|
删除分支
标签管理
增加本地标签
1 2 3 4
| git tag "<标签名>"
git tag -a <标签名> -m "<说明信息>"
|
增加远程标签
因为这个用的少,就不深入说明了。
查看标签
1 2 3 4
| git tag
git show <标签名>
|
删除标签
暂存栈管理
创建暂存栈
1 2 3 4
| git stash
git stash save "<注释>"
|
这个命令会将所有未递交的修改保存起来。
重新应用缓存
这个指令将缓存堆栈中的第一个stash删除,并将对应修改应用到当前的工作目录下。
查看现有stash
在使用git stash apply
命令时可以通过名字指定使用哪个stash,默认使用最近的stash(即stash@{0})。
移除stash
1 2 3 4
| git stash drop stash@{<下标>}
git stash drop "<注释>"
|
查看指定stash的diff
版本管理
还原
1 2 3 4
| git checkout <文件名>
git reset [--soft | --mixed | --hard] <指定版本编号>
|
下面说明参数的意义:
- --soft:将HEAD指向指定的版本上。但是工作区的文件和暂存区的文件都不改变,仅仅退回commit的信息。
- --mixed:git
reset的默认方式将HEAD指向指定的版本,同时暂存区的文件也改变,但是工作区的文件不改变。
- --hard:彻底回退到指定的版本。
远程库(github)
创建远程仓库
1 2 3 4 5 6
| git remote add <远程仓库名> <地址>
git push -u <远程仓库名> <地址>
git push <远程仓库名> <地址>
|
查看远程仓库
修改远程仓库
1
| git remote set-url <远程仓库名> <地址>
|
克隆远程库
1 2 3 4
| git clone <地址>
git pull
|
删除远程仓库
初始化本地项目
1 2 3 4
| git config --global user.name "<你的名字或昵称>" git config --global user.email "<你的邮箱>" git init git remote add <远程仓库名> <地址>
|
创建分支到本地
1
| git checkout -b <本地仓库名> <远程仓库名>/<分支名>
|