git学习笔记(三)

git学习笔记前两篇讲了git操作的常用操作,这部分是稍微进阶的用法
选一个项目,例如我的是GridViewTest,
打开GitBash,并进入到GridViewTest这个项目的根目录,然后进行以下操作。

git init
git add .
git commit –m “初始化项目”

也可以在学习笔记(一)的基础上直接进行操作,因为学习笔记(一)也是做的这个。


1:分支的用法
分支就是在现有代码的基础上,开辟一个支路,使得代码可以在主干和分支上同时进行开发,而且互相之间不会影响。
下图是分支的工作原理示意图:

这里写图片描述

如果要查看当前的版本库中有哪些分支,可以使用git branch –a 这个命令,结果如下图:

这里写图片描述

由于目前GridViewTest中没有创建过任何的分支,因此只有一个master主干线存在。
我们可以去创建一个分支version1.0,命令如下:

git branch version1.0

这里写图片描述

可以看到有一个叫version1.0的分支出现了,master主干线上的*号表示目前我们的代码还是在master上,要切换到分支version1.0上,可以使用如下命令:

git checkout version1.0

这里写图片描述

如上图所示,我们已经成功把代码切换到version1.0这个分支上面了。
特别注意:
在version1.0这个分支上面修改提交的代码,不会影响到master主干线,在master上修改并提交的代码也不会影响到version1.01分支,因此,如果你在version1.0上面修复了一个bug,在master上这个bug还是一样的存在,这时候,可以使用merge命令来完成合并操作:

git checkout master
git merge version1.0

这两行命令的作用是把在version1.0分支上修改并提交的内容合并到master分支上面,一般很容易出现代码冲突的情况,在合并的时候,遇到冲突的话,就自己要慢慢改。
当我们不需要一个分支的时候,可以使用下面的命令将这个分支删除掉:

git branch –D version1.0

这里写图片描述

2:与远程版本库协作
使用git来进行团队的合作开发?
需要一个远程的版本库,团队中的每个人都可以从这个版本库中获取最原始的代码,然后各自进行开发,以后每次提交的代码都同步到远程版本库上就好了,注意:团队中的每个人要经常获取最新代码,不然很容易发生冲突。

如果现在有一个远程版本库地址:https://github.com/huxiaoliu/TodayWeather.git可以使用如下的命令下载到本地

git clone https://github.com/huxiaoliu/TodayWeather.git

这里写图片描述

可以看到我的f盘下有了一个叫TodayWeather的文件夹,

这里写图片描述

之后,你在这份代码的基础上进行了一些修改和提交,想把本地修改的命令同步到远程版本库上面,这时用push命令来完成。

git push origin master

其中origin部分指定的是远程版本库的git地址,master指的是同步到哪一个分支,上述命令完成的就是将本地代码同步到https://github.com/huxiaoliu/TodayWeather.git这个版本库的master分支上。
我在本地的TodayWeather中,添加了一个hello.txt的测试文件,并将其在本地进行提交,然后同步到远程版本库中,命令如下:

这里写图片描述

此时,可以在远程版本库中查看到,我的远程版本库中多了多了一个hello.txt的文件

这里写图片描述

那么我们如何将远程版本库上面的修改git 同步到本地呢?
Git提供了两种功能来完成此功能,分别是fetch 和 pull
fetch的语法和push差不多,
在执行fetch语法之前,我现在远程版本库上新建了一个fetchTest1文件

这里写图片描述

git fetch origin master

这里写图片描述

执行这个命令后,就会将远程版本库上面的代码同步到本地,不过同步下来的代码,并不会合并到任何分支上面,而是会存放到一个origin/master分支上,我们可以通过diff命令来查看远程版本库到底修改了哪些东西

git diff origin/master

这里写图片描述

之后再调用merge命令将origin/master分支上的修改合并到主分支上,即可

git merge origin/master

这里写图片描述

执行之后可以发现在我的本地根目录中多了一个fetchTest1文件

这里写图片描述

pull命令则是相当于将fetch和merge这两个命令放在一起执行了,它直接从远程版本库中获取最新的代码并合并到本地,用法如下:
同样,在执行pull操作之前我现在远程版本库中新建了一个pullTest文件

这里写图片描述

git pull origin master

执行上述命令后有

这里写图片描述

同时可以发现我们项目的本地根目录直接有了最新的代码,不再需要分支合并

这里写图片描述

<think>好的,我需要帮助用户找到关于Git的分模块学习资料或笔记。用户之前询问过相关内容,现在需要更详细的结构化资源。首先,我要回顾之前提供的Git学习笔记模块,并确保符合用户的需求。用户希望分模块学习,所以应该将Git的知识点分解成清晰的模块,每个模块涵盖不同的主题。根据之前的引用内容,比如引用[2]中的Git学习笔记结构,可以分成简介、安装配置、操作入门、版本管理、远程仓库等模块。这些模块需要进一步细化,例如操作入门可以包括基本工作流程、命令行操作和图形化工具。接下来,我需要考虑如何组织这些模块,确保逻辑连贯,便于用户逐步学习。同时,要参考用户提到的引用内容,例如引用[3]和[4]中提到的提交更改和行尾配置,这些可以作为子模块的内容。另外,用户可能需要实际例子或代码片段来辅助学习,比如引用[1]中的合并操作示例。在每个模块中添加相关命令示例会更有帮助。同时,要确保使用正确的中文表达,并遵循LaTeX格式要求,例如行内公式用$...$,独立公式用$$...$$,但Git内容可能较少涉及数学公式,需注意适用性。最后,生成相关问题时要围绕分模块学习、教程推荐、实践方法等方面,帮助用户深入探索。需要检查引用标识是否正确添加,如引用[2]对应Git学习笔记的结构,引用[3]对应提交命令等。确保回答结构清晰,分点明确,符合用户需求。</think># Git分模块学习指南 ### 一、基础概念模块 1. **版本控制原理** Git通过快照方式记录文件变化,每个提交保存项目完整状态$^{[^2]}$ 核心概念:工作区、暂存区、本地仓库、远程仓库 2. **安装与环境配置** ```bash # 设置全局用户名和邮箱 git config --global user.name "YourName" git config --global user.email "email@example.com" ``` ### 二、本地操作模块 1. **基础工作流** - 新建仓库:`git init` - 提交流程: ```bash git add . # 引用[3] git commit -m "msg" ``` 2. **分支管理** ```bash git checkout -b feature # 创建并切换分支 git merge master # 引用[1] ``` ### 、远程协作模块 1. **远程仓库操作** ```bash git remote add origin <url> git push -u origin master ``` 2. **多人协作模式** - 解决代码冲突的种策略 - 推荐工作流:Git Flow$^{[^2]}$ ### 四、高级应用模块 1. **Git Hooks** - 预提交检查 - 自动化部署 2. **子模块管理** ```bash git submodule add <repository-url> ``` ### 五、推荐学习资源 1. **官方文档** Git Book中文版:https://git-scm.com/book/zh 2. **分模块教程** - Learn Git Branching(交互式学习平台) - GitHub Learning Lab(实战导向)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值