Git学习笔记(1)

Git学习笔记(1)

任何软件开发工作,只要不是开发人员极少,那么就都需要使用版本控制软件。
版本控制软件保证了开发工作的安全,有序,方便不同人代码的交流。同时也有许多其他的方便功能,比如查看旧版本等。
Git就是一个优秀的版本控制软件,目前用于维护android,linux内核等开源大工程的开发工作。
Git是一个分布式的版本控制系统,他诞生于linux内核开源社区与BitKeeper商业公司合作的终止,因为BitKeeper收回了linux开源社区免费使用BitKeeper的权利。linux社区吸取教训,为防重蹈覆辙,开发了一套属于自己的版本控制系统,这就是Git。
开发之初,Git开发者对于Git设定了以下目标:

1.速度
2.简单的设计
3.对非线性开发的强力支持(允许上千个并行开发的分支)
4.完全分布式
5.有能力高效管理类似linux内核一般的超大规模项目(速度和数据量)

Git是一个什么样的系统呢,Git的特点如下:

1.直接快照,而非比较差异
2.几乎所有操作都可以本地执行
3.时刻保持数据完整性
4.多数操作仅添加数据

理解Git的这些特点,你能更好的理解他的有些命令中一些令人迷惑的设计,从而帮助你更好的使用Git提供的工具。

Git的安装过程非常简单,这里略过不谈,需要注意的是,Git目前处于活跃的开发期,相差几个版本之间可能会有很多差异,因此,请与你的合作者约定好Git的版本。

Git的配置:
Git的配置是非常重要的一步。分布式版本控制系统是一个弹性非常大的系统,这有时会令人对层出不穷的并行分支感到困惑,这点在Git这个系统中体现非常明显,因此,配置好你的个人信息(以及以后的分支信息,提交信息等),你们所有人都会受益。

Git的配置信息存储于以下三个位置
1./etc/gitconfig:这个文件存储对所有用户都是用的配置,git config中的 --system选项对应修改此文件。
2.~/.gitconfig:这个文件存储的配置只对当前用户有效,git config中的 --global选项对应修改此文件。
3.工作目录中.git.config:在这里配置仅对当前项目有效。无选项的配置对应修改此文件。

1.用户信息
你可以使用如下命令配置你的个人信息
#git config --global user.name "yourname"
#git config --global youremail@**.com

--global选项配置的是你主目录下的文件。如果你想在特定目录下使用其他名字或email,去掉--global即可。

2.文本编辑器
有时Git需要你输入一些额外信息,这时他会调用文本编辑器提醒你到了输入信息的时间了。
这个文本编辑器默认是vi或vim。你可以使用以下命令更改(比如你想把默认文本编辑器改为Emacs)
#git config --global core.editor emacs

3.差异分析器
这是用来分析差异信息的工具,主要用于merge命令分析差异时,话不多说,命令如下
#git config --global merge.tool vimdiff

4.查看配置信息
#git config --list

5.获取帮助
最后一点,相信大家都不陌生
#git help <command>
#git <command> --help
#man git-<command>

以merge为例
#git help merge
GIT-MERGE(1) Git Manual GIT-MERGE(1)

NAME
git-merge - Join two or more development histories together

SYNOPSIS
git merge [-n] [--stat] [--no-commit] [--squash]
[-s <strategy>] [-X <strategy-option>]
[--[no-]rerere-autoupdate] [-m <msg>] <commit>...
git merge <msg> HEAD <commit>...

DESCRIPTION
Incorporates changes from the named commits (since the time their histories diverged f
安全易懂。查询命令,就这个最方便了。
关于Git的简介就到这里了。

未完待续,敬请期待

<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、付费专栏及课程。

余额充值