个人关于git版本分支管理使用的一些总结

最近进行多人项目协作,尝试了Vscode自带的Live Share,但是无法分屏不太好用,于是对于git的分支管理进行了一些简单的研究,上手之后还是挺方便的



关于分支命名

  • master分支一般用于作为线上分支,即需要应用的项目版本
  • develop/dev分支一般用于作为开发分支,用于修改开发使用,最后需要merge到master

一些使用到的指令总结

  • git init -> 为当前目录下项目生成一个git仓库(.git文件),如果当前项目已经包含.git文件则会直接初始化配置
  • git remote add origin <远程仓库URL> -> 建立了一个空的git仓库后,用于进行远程仓库配置,该处的URL可以直接在你需要进行链接的项目github主页进行复制,origin为远程仓库命名(一般默认使用origin,也可以自定义)(如果是git clone生成的git仓库则已经自动链接了相应的远程仓库)
  • git status -> 该指令有以下几个用途:
    1、查看哪些文件未被暂存、提交或者跟踪(未被跟踪即未被git进行管理的文件,一般为新建文件)
    2、查看当前所在分支
  • git add <文件或目录> -> 将文件存入暂存区,如果是新建文件且未被git跟踪,则将其纳入控制
  • git commit -m "本次修改的内容" -> 将暂存区中的更改保存到本地仓库的提交历史中,每次提交都会生成一个唯一的提交记录,包含更改的内容、提交者信息、时间戳以及提交消息。
    PS: 个人使用时,有时候会将没有文件更改的情况进行提交,这时候需要使用git commit --allow-empty,否则会提交失败
  • git pull origin branch_name -> 用于从远程仓库获取最新的更改,并将其合并到当前本地分支,实际上是git fetchgit merge的结合
  • git push origin branch_name -> 将本地分支的更改推送到远程仓库的命令,远程分支会指向本地分支的最新提交
  • git branch -a -> 显示所有分支和远程仓库
  • git branch branch_name -> 新建一个本地branch
  • git checkout branch_name -> 切换到某个branch下

使用过程中的问题总结

  • 问题1:进行 git push origin master报错
  • 回答1:GitHub 从2020年10月1日起,在该平台上创建的所有新的源代码仓库默认被命名为"main",而不是原先的"master",所以需要进行改名:
    git branch -m master main
    git push origin main

  • 问题2:手动将github中的空仓库main改为了master后, git push origin master报错,想使用git pull更新本地状态,却报错如下:
    warning: 没有共同的提交
    xxxx
    fatal: 拒绝合并无关的历史
  • 回答2:git检测到本地仓库和远程仓库的历史记录没有共同的提交(即它们是完全独立的分支),默认会拒绝合并这种无关的历史记录,以防止意外覆盖或合并错误,解决方法如下(有效):
    git pull origin master --allow-unrelated-histories
    而后再进行git push,成功

  • 问题3:使用 git branch -a不显示本地分支
  • 回答3:总结:必须使用git init命令创建仓库,执行git add . 和git commit(提交成功后),再使用git branch命令,才显示出本地分支,git的分支必须指向一个commit,没有任何commit就没有任何分支,提交第一个commit后,git自动创建master分支

同时,也可以在github的Branch protection rules处对特定分支进行保护,设置代码审查、合并请求等等


目前就暂时接触到这些功能,后续有需要再继续深入研究吧(*´・д・)?

posted @ 2024-12-28 23:37  Luna-Evelyn  阅读(13)  评论(0)    收藏  举报