跳到主要内容

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

cd /www/wwwroot/yunfei.plus/ &&git pull origin main

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提交代码

  1. 先将代码都放到暂存区
git add .
  1. 提交到本地库
git commit -m '注释'
  1. 提交到远程分支
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分支出现这些内容,那么就要进行回滚

image-20240611171807290

切换到main分支

git checkout main

拉取最新代码:

git pull

image-20240611172058497

查看git日志:

git log

image-20240611172128882

回退到4c3bd8673416aac380e4bd5416b32dbdf8a9fc15的地方

git reset --hard 4c3bd8673416aac380e4bd5416b32dbdf8a9fc15

此时再去查看git log

image-20240611172454321

推送到远程:

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
  1. git pull 命令用于从远程仓库拉取最新的代码更新到本地仓库。

  2. origin 是远程仓库的名称,通常默认为 "origin"。

  3. 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分支
    ⑨可以开始 迭代下一个版本 新功能
    123456789
  • develop:开发主分支

    ①多人合作的开发分支,不能直接在dev开发;
    ②每个人开发feature-xxx合并develop供同事拉取
    ③联调完毕推到test分支
    123
  • feature-xxx

    :功能开发分支

    ①基于master 创建分支,以开发时间+功能模块命名  如:feature/20220708_login
    ②功能自测完毕后,先pull一下develop(防冲突),然后在feature-xxx合并到develop
    ③每个版本、每个人有自己独立功能分支
    123
  • fixbug:bug修复分支

    ①如果线上出现bug,及时修复,基于master创建出的分支
    ②命名规范:修复时间+bug问题(或功能) 如:fixbug/20220708_lock_release
    ③功能自测完毕后, 合并到test分支(前提test分支与线上一直,否则创建release辅助分支进行部署测试)
    ④测试完毕后,打上Tag号,等待发布
    ⑤release/test合并到master分支
    12345
  • hotfix-xxx:紧急bug修改分支

    同上
    1
  • release

    辅助分支

    主分支 同 master 分支,预发环境通过之后,上线之前,合并 release 分支(本人厂小,没用预发环境哈)