【Git从入门到精通】——Git分支介绍与GitHub相关知识总结

embedded/2024/11/21 16:36:51/

🎼个人主页:【Y小夜】

😎作者简介:一位双非学校的大二学生,编程爱好者,

专注于基础和实战分享,欢迎私信咨询!

🎆入门专栏:🎇【MySQL,Java基础,Rust】

🎈热门专栏:🎊【Python,Javaweb,Vue框架】

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

目录

🎯分支操作

😎简介

😎查看分支

😎创建分支

😎切换分支

😎合并分支

😎合并冲突问题

 🎯GitHub操作

😎创建远程库

😎 创建远程库别名

 😎将本地库推从到远程库里

😎 拉取远程库到本地库

😎克隆操作

😎邀请团队成员

😎 跨团队进行


🎯分支操作

😎简介

        Git分支是一种版本控制系统中的重要特性,它允许开发者在不影响主线(通常为master或main分支)的情况下并行进行工作。

        在版本控制中,分支是独立、平行发展的开发线。使用分支可以在不影响主线的同时,进行新功能的开发、Bug的修复等操作。Git通过指针来管理分支,一个分支实际上指向一个提交对象的引用。HEAD是一个特殊的指针,指向当前检出的分支。

        创建分支的命令是git branch (branchname);切换分支的命令则是git checkout (branchname)。合并分支通常使用git merge命令,可以将一个分支的内容合并到另一个分支中去。如果需要删除本地分支,可以使用git branch -d (branchname)命令。

        在实际工作中,合理使用分支可以极大地提高开发效率和代码管理的安全性。例如,在开发新功能时,从稳定分支创建新分支进行开发,可以避免在新功能开发过程中影响主线的稳定性。同时,在合并回主线前,应进行充分的测试以确保新功能的稳定性和兼容性。

        总的来说,掌握Git分支的管理和应用,对于团队合作开发至关重要。这不仅有助于代码的组织管理,也使得各个功能模块的开发更加灵活和可控。

😎查看分支

输入命令git branch -v 查看当前分支

😎创建分支

输入命令git branch 分支名 创建分支

再次查看分支

😎切换分支

输入命令 git checkout 分支名,发现分支已经切换

查看一下

😎合并分支

这里我将aaa分支合并到master分支上,输入命令 git merge aaa

😎合并冲突问题

        合并冲突问题是Git版本控制中常见的问题,其通常发生在两个或多个分支对同一文件的同一部分都进行了修改,当尝试将这些修改合并时,Git无法自动确定哪个修改是正确的,从而标记为冲突,需要手动解决

会报一个冲突问题

        Git通过特殊标记来表示冲突,例如"<<<<<<<"表示冲突开始,"======="表示双方的修改内容分隔线,">>>>>>>"表示冲突结束。

手动打开文件后

然后自己手动修改一下就行

接着提交暂存区,然后用git命令提交给本地库(不要带的文件名)

 🎯GitHub操作

官网:GitHub: Let’s build from here · GitHub

进入官网,点击Sign in进行登入

输入账户和密码

😎创建远程库

输入远程库的名字(最好和本地库的名字相同)

选择分类(公共库和私有库)

创建后可以看到两种协议 

😎 创建远程库别名

先用git remote -v查看是否有别名

github中的http协议起一个别名

使用命令 git remote add 别名 协议名

查看存在的别名

 😎将本地库推从到远程库里

使用命令 git push 别名 分支名

有可能失败,因为对网络要求比较高,多试几次

绑定一下账号

推送成功了

刷新一下github ,发现已经显示了

😎 拉取远程库到本地库

修改远程库代码并保存

使用命令git pull 别名 分支名

查看文件,已经被修改

😎克隆操作

使用命令 git clone 链接名

使用 ll命令查看子文件夹

😎邀请团队成员

登入github,进入项目中,点击settings

点击Collaborators

输入账号

复制邀请函,并发送给被邀请人

😎 跨团队进行

搜一下他们项目(这里随便找了一个例子)

直接点fork

github修改后,点击Pull request

点击new pull request

点击创建

 然后再另一个账号就可以看到,接收就行了


http://www.ppmy.cn/embedded/139382.html

相关文章

C++中的组合模式

组合模式&#xff08;Composite Pattern&#xff09; 组合模式是一种结构型设计模式&#xff0c;它将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得客户端可以统一地处理单个对象和对象组合。这个模式特别适用于需要表示层次结构的场景&#xff0c;例如文件…

用Python“拍立淘”:在1688的海洋里寻找宝藏

想象一下&#xff0c;你是一名勇敢的探险家&#xff0c;手持一张神秘的藏宝图&#xff0c;准备在阿里巴巴的1688海洋中寻找那些隐藏的宝贝。但这次&#xff0c;你的武器不是传统的铲子和罗盘&#xff0c;而是Python爬虫。我们将一起编写一段代码&#xff0c;让它成为我们的“拍…

C++小白实习日记——Day 5 gitee怎么删文件,测试文件怎么写循环

昨晚一直内耗&#xff0c;一个程序写了三天写不出来&#xff0c;主要是耗时太多了&#xff0c;老板一直不满意。想在VScode上跑一下&#xff0c;昨晚一直报错。今天来公司重新搞了一下&#xff0c; 主要工作有&#xff1a; 1&#xff0c;读取当前时间用tscns 2&#xff0c;输…

Java项目实战II基于微信小程序的课堂助手(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在数字化教…

MySQL 架构概览

show processlist;命令查询所有正在运行的线程 MySql架构从上到下分为网络连接层&#xff0c;系统服务层&#xff0c;存储引擎层&#xff0c;文件系统层 1.网络连接层主要负责维护客户端的连接&#xff0c;保存session会话&#xff0c;以及多线程下的连接管理。 2.系统服务层…

【Vim/Vi/Gvim操作】:列操作

文章目录 列操作1. 列选择模式1.1 visual 模式1.2 visual line模式1.3 visual block模式 2.列操作2.1 行首插入操作2.2 替换操作 列操作 1. 列选择模式 1.1 visual 模式 命令行状态下按下小写v&#xff0c;默认进入到visual模式&#xff0c;该模式相当于在window中按下鼠标左…

经典面试力扣392判断子序列

给定字符串s和t&#xff0c;判断s是否为t的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除&#xff09; 字符而不改变剩余字符相对位置形成的新字符串。 (例如&#xff0c;"ace"是"abcde"的一个子序列&#xff0c;而"aec"不是)。…

静态时序分析--时序约束

目录 1.时钟约束1.1创建时钟1.2.生成时钟1.3虚拟时钟1.4 最小时钟脉宽 2.I/O延时约束2.1设置输入延时2.2设置输出延时 3.I/O环境建模约束3.1输入驱动建模3.2输出负载建模 4.时序例外4.1多周期路径设置&#xff08;multicycle path&#xff09;4.2伪路径设置&#xff08;false_p…