个人关于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 fetch 和 git 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处对特定分支进行保护,设置代码审查、合并请求等等
目前就暂时接触到这些功能,后续有需要再继续深入研究吧(*´・д・)?

浙公网安备 33010602011771号