Git分支管理与常用命令

简介: Git分支管理与常用命令

一、分支管理

Git在创建分支仅是生成了一个指针又称快照(有的工具则进行了物理拷贝),这样在使用起来就非常的方便。方便的同时问题随之而来,如果不加管理,那么就会到处开枝散叶,完全看不出主干。因此,分支管理的需求应运而生。分支管理从某种角度讲可以看作项目管理,伴随了一个任务的生命周期。

二、如何管理

主分支包括:

master:上生产环境验证后合并到的分支

Git主分支的名字,默认叫做master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。

prd:生产环境分支,提供给用户的正式版本

pre:预发布环境

uat(User Acceptance Test):客户体验环境分支

test:测试环境分支

dev:开发环境分支

开发主分支:从master创建的开发分支,命名规则:feat-版本号-日期

举例:git checkout -b feat-M.1.0.0-20210911-ljj master

开发分支:从开发主分支创建的分支,命名规则:feat-版本号-日期-姓名拼音

举例:git checkout -b feat-M.1.0.0-20210911-ljj feat-M.1.0.0-20210911

注:开发新任务:feat、修改bug:hotfix

伴随着开发的进度,从开发分支依次向上合并,直到master分支,删除开发分支与开发主分支。

两个任务同时到uat、不同时间发版,这样处理,类似解决bug一样。

三、如何解决开发分支与主干分支的冲突:

1、举例开发分支与dev主干分支发生的冲突。

2、首先再dev分支的基础上创建一个临时解决冲突的分支,我们命名为:dev-mid-20210911。

3、在编译器把开发分支合并到临时mid分支,这是冲突的文件与内容在编译器就可以看到了,找到冲突的代码,检查,不能准确处理的,需要与当事人当面一起处理。

4、解决冲突后把dev-mid分支合并到dev分支,删除dev-mid,这样就处理完成了。

四、常用命令

序号 命令 描述
1 git init 新建代码库
2 git clone 克隆项目
3.1 git branch 列出本地已经存在的分支,并且当前分支会用*标记
3.2 git branch -r 查看远程版本库的分支列表
3.3 git branch -a 查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支)
3.4 git branch -v 查看一个分支的最后一次提交
3.5 git branch --merged 查看哪些分支已经合并到当前分支
3.6 git branch --no-merged 查看所有未合并工作的分支
3.7 git checkout -b 新分支 创建分支的同时,切换到该分支上
4.1 git tag [name] 创建tag
4.2 git tag 查看已创建的tag
4.3 git show tagName 查看tag对应的commit id
5

git reset --hard commit-id 

(到这里就和reset方法一样了)

回退代码
6 git submodule add [url] [path] 添加子模块
7.1 git pull 更新本地代码
7.2 git fetch 拉取仓库里有 本地电脑没有的代码
7.3 pull 根据不同的配置,可等于 fetch + merge 或 fetch + rebase
8 git add 将当前更改加入到索引
9 git commit 提交当前工作空间的修改内容
10 git commit 将commit的代码提交的远程仓库
11.1 git reset --hard HEAD^ 回退到上个版本
11.2 git reset --hard 本地库、暂存区动、工作区都动
11.3 git reset --mixed 本地库、暂存区动,工作区不动
11.4 git reset --soft 本地库动,暂存区、工作区不动
11.5 git reset --hard HEAD~3 回退到前3次提交之前
12.1 git push origin HEAD --force 推送到远程仓库
12.2 git push --set-upstream origin dev 本地创建了一个名为dev的分支,远程仓库没有这个分支,push
13 git merge 合并代码
14

git merge --abort、

git reset --merge

取消合并过程
15.1 git stash 将当前分支修改暂存
15.2 git stash list 查看暂存信息
15.3 git stash apply 恢复最近一次修改
15.4 git stash apply stash@{2} 恢复索引
16.1 git config --local remote.origin.url 查看代码仓库地址
16.2 git config --local remote.origin.url http://www.abc.com/abc.git 修改代码仓库地址
17.1 git branch -d 分支名称 删除本地分支,不能删除当前所在的分支,如果要删除,必须先切换到其他分支上
17.2 git branch -D 分支名称 强制删除分支
17.3 git push origin :分支名称 删除远程分支,分支名称前有个冒号,分支名前的冒号代表删除
18 git status

文件、文件夹在工作区、暂存区的状态

19 git log 查看提交历史

举例这些,用到哪些查一下就ok。

五、 commit代码时要根据本次内容不同加上响应的前缀

feat:新功能

fix:修改bug

docs:文档修改

style:代码格式修改,注意不是css修改(例如分号修改)

refactor:代码重构(重构,在不影响代码内部行为、功能下的代码修改)

perf:更改代码,以提高性能

test:测试用例新增、修改

workflow:工作流相关文件修改

ci:持续集成想相关文件修改

chore:其他修改(不在上述类型的修改)

types:类型、特征

build:影响项目构建或依赖项修改

六、四个工作区域

1、Workspace: 工作区,就是你平时存放项目代码的地方

2、Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

3、Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

4、Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

七、文件的四种状态:

1、Untracked:   未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

2、Unmodify:   文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified.如果使用git rm移出版本库, 则成为Untracked文件

3、Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git heckout即从库中取出文件, 覆盖当前修改

4、Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified

八、github常见的几个button:

github网站中,搜索到一个项目之后,经常会看到的几个按钮。

1、Watch,按钮中有三个选项:

2、Not watching (默认选中):当参与或者被提及到的时候,通知。

3、Watching:所有的更改会话都通知。

4、Ignoring:忽略所有的会话。

5、Star:表示赞,给它一个星星奖励。

6、Fork: 克隆别人的代码库到自己的github项目中,可以作为子模块的形式使用,或二次开发 。

7、Pull requests (PR): Fork之后,如果希望将自己的修改贡献到原始代码中,可以使用pull requests推送请求到原来仓库中,然后,原始代码的作者,根据你提交的内容,考虑是否真的放入源码中。

它的过程是这样的:比如你在GitHub上看到一个很牛X的项目,你fork到自己仓库后,再改动一些代码,然后可以向提交一个pull request。当管理员觉得你的提交太哇噻了,就会点击合并,然后你就给这个项目贡献了代码了。

九、用户信息

9.1、查看git本地用户信息

git config user.name // 获取当前登录的用户

git config user.email // 获取当前登录用户的邮箱

9.2、修改git本地用户信息

git config --global user.name 'userName'    // 修改登陆账号

git config --global user.email 'email'      // 修改登陆邮箱

git config --global user.password 'password'  // 修改登陆密码

十、遇到问题:

10.1、git: rpc failed; http413 rurl 22requested url returned error 413

文件太大了,有规范的解决方法

临时解决的话可以把要提交的内容分批push

10.2、.gitignore无效,不能过滤某些文件(删除已跟踪的文件)

git rm --cached xxxxxx

【转】Git:移除文件----git rm命令的使用_faithmy509的博客-CSDN博客

10.3、忽略git hooks的校验,直接commit代码

git commit -m "feat: 开方内容" --no-verify

10.4、出现(end)如图,ctrl+c 不能管用,这时可以使用  :q  退出,返回命令行

十一、其他

Existing branch name, tag, or commit SHA

11.1、创建分支,可以基于以下几种:

11.2、tag

Git基础 - git tag 一文真正的搞懂git标签的使用_NorthCastle的博客-CSDN博客_git tag怎么使用

git tag创建、远程推送、回退以及强推push -f_苦咖啡-coffe的博客-CSDN博客_git tag

十二、欢迎交流指正,关注我,一起学习。

相关文章
|
3月前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
28天前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
|
27天前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
28天前
|
安全 开发工具 git
图解Git——分支管理《Pro Git》
分支管理是 Git 中的重要机制,支持并行开发和清晰的工作流。常用命令包括:`git branch` 列出所有分支,`git branch -v` 查看最后一次提交,`git branch --merged` 和 `git branch --no-merged` 分别查看已合并和未合并的分支。创建新分支用 `git branch <branch-name>`,删除分支用 `git branch -d`(已合并)或 `-D`(强制删除)。建议定期清理已完成任务的分支,保持代码库整洁,并使用有意义的分支命名规范。注意强制删除未合并分支时可能丢失数据。
31 5
|
2月前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
74 3
|
3月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
75 1
[Git]入门及其常用命令
|
2月前
|
运维 测试技术 持续交付
代码管理的艺术:你的团队是否还在为 Git 分支管理头疼?
本文回顾了作者从2~3人初创团队到百人技术团队的经历,分享了代码管理工具从无到SVN再到Git的演变。重点介绍了Git Flow和GitHub Flow两种常用的Git分支管理模型,分析了它们的适用场景和优缺点。Git Flow适合中大型项目,而GitHub Flow则更适合小型团队和Web应用开发。
105 0
|
3月前
|
开发工具 git
git分支管理master/hotfix/develop/feature/release
采用合理的Git分支管理模型可以显著提升团队协作效率和代码管理的质量。本文介绍的 `master`、`develop`、`feature`、`release`和 `hotfix`分支模型是一个行之有效的方法,适用于大多数软件开发项目。通过清晰地划分各个分支的职责,团队成员可以更专注于各自的开发任务,同时确保代码库的稳定性和可维护性。
143 2
|
4月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
173 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
3月前
|
测试技术 开发工具 git
掌握Git分支管理,提升团队协作效率
掌握Git分支管理,提升团队协作效率
63 0

相关实验场景

更多