Git的使用
git基本配置
配置账户:
git config --global user.name "xxx" # 这里是 github 注册的账号(用户名)
git config --global user.email "xxx" # github 注册的邮箱
# 查看 git 账号信息
git config user.name
git config user.email
# 或者直接使用以下命令就可以看到整个账户信息
git config --list
Git分支操作
先查看分支:
git branch -a
再切换分支:
git checkout branchName
切换并创建分支:
git checkout -b newBranch
删除分支:
git branch -d branchName
重命名分支名:
git branch -m master main
- 就将本地的 master 分支重命名为 main。
设置当前分支的上游分支:
git push --set-upstream origin <branch_name>
- origin 表示远程仓库的名称,通常是默认的 origin。
<branch_name>
表示远程分支的名称,通常与本地分支名称相同。
设置完上游分支,下次推送的时候,可以直接使用git pull 或者 git push 不需要指定了
Git提交代码
- 先将代码都放到暂存区
git add .
- 提交到本地库
git commit -m '注释'
- 提交到远程分支
git push <远程主机名> <本地分支名>:<远程分支名>
举例说明:
远程主机名:
git remote -v
origin git@github.com:yunfeidog/fabric_mod_tutorial.git (fetch)
origin git@github.com:yunfeidog/fabric_mod_tutorial.git (push)本地分支名:
git branch
* customBlocks
main远程分支名:
git branch -r
origin/main
如果远程没有某个分支,可以直接推送:
git push origin customBlocks
因为本地分支和远程要创建的分支名称一样
提交回退
举例说明:
我现在错误的将customBlocks分支的内容推送到了main分支,也就是我不希望main分支出现这些内容,那么就要进行回滚
切换到main分支
git checkout main
拉取最新代码:
git pull
查看git日志:
git log
回退到4c3bd8673416aac380e4bd5416b32dbdf8a9fc15的地方
git reset --hard 4c3bd8673416aac380e4bd5416b32dbdf8a9fc15
此时再去查看git log
推送到远程:
git push -f origin main
此时更新完毕。
Git Reset Head
git add xxx
上面这个会把文件加入到暂存区
现在想要把文件取消加入暂存区:
git reset HEAD rebel.xml
设置远程仓库
git remote add origin xxx
解释:将远程仓库命名为origin
再去提交:
git push <远程主机名> <本地分支名>:<远程分支名>
拉取远程仓库代码
git pull origin master
-
git pull
命令用于从远程仓库拉取最新的代码更新到本地仓库。 -
origin
是远程仓库的名称,通常默认为 "origin"。 -
master
是你要拉取的远程分支名称。如果你要拉取其他分支,将master
替换为相应的分支名即可。
关于Git的命名规范
https://blog.csdn.net/a6864657/article/details/107236221
-
master
:主分支①永远是可用的稳定版本,不能直接在该分支上开发
②开发新功能时,永远从master创建一个新的feature-xxx保证和线上代码一致,进行新功能开发(不背锅)
③feature-xxx自测完毕,合并到develop供同事更新代码(自测不因自己代码bug或冲突影响他人开发)
④功能开发完毕,develop进行联调
⑤联调无问题后,合并到test测试使用
⑥测试无问题,在test分支上打上Tag(表示发布版本)
⑦将打有Tag版本上线,线上测试无误后
⑧将Tag版本或者release/test合并到master分支
⑨可以开始 迭代下一个版本 新功能 -
develop
:开发主分支①多人合作的开发分支,不能直接在dev开发;
②每个人开发feature-xxx合并develop供同事拉取
③联调完毕推到test分支 -
feature-xxx
:功能开发分支
①基于master 创建分支,以开发时间+功能模块命名 如:feature/20220708_login
②功能自测完毕后,先pull一下develop(防冲突),然后在feature-xxx合并到develop
③每个版本、每个人有自己独立功能分支 -
fixbug
:bug修复分支①如果线上出现bug,及时修复,基于master创建出的分支
②命名规范:修复时间+bug问题(或功能) 如:fixbug/20220708_lock_release
③功能自测完毕后, 合并到test分支(前提test分支与线上一直,否则创建release辅助分支进行部署测试)
④测试完毕后,打上Tag号,等待发布
⑤release/test合并到master分支 -
hotfix-xxx
:紧急bug修改分支
同上
release
:辅助分支
主分支 同 master 分支,预发环境通过之后,上线之前,合并 release 分支(本人厂小,没用预发环境哈)