git学习笔记(1)

本文详细介绍了如何在Windows环境下安装Git,并引导读者完成Git的基本配置。通过实例演示了如何创建Git版本库、添加文件到版本库以及提交更改等基本操作。

1、安装Git

Git 各平台安装包下载地址为:http://git-scm.com/downloads

msysGit项目提供了Windows下的git版本,从https://git-for-windows.github.io下载(国内镜像),然后直接点击“下一步”按默认选项安装即可。

2、安装完Git后,需要对其进行配置,包括:

  • 第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.co
  • 我们先来理解下Git 工作区、暂存区和版本库概念

  工作区:就是你在电脑里能看到的目录。

  暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

  版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库(又名仓库),这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何      时刻都可以追踪历史,或者在将来某个时刻可以“还原”。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个      分支master,以及指向master的一个指针叫HEAD。

  • 创建一空的版本库

  创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录(空文件夹):

  (1)可以利用命令行进行创建

$ mkdir learngit  --在当前目录下直接创建learngit文件夹
$ cd learngit  --进入learngit问价夹中
$ pwd  --显示当前目录的路径/Users/michael/learngit
$ git init   --创建为仓库显示为Initialized empty Git repository in /Users/michael/learngit/.git/

  (2)也可以自己建好目录(文件夹)后,通过命令进到文件夹下,再创建

$ cd E:     --进入E盘 
$ mkdir learngit     --在E:盘下建立learngit文件夹 
$ cd learngit     --进入learngit文件夹 
$ git init     --将当前目录变成Git可以管理的仓库,显示为Initialized empty Git repository in /Users/michael/learngit/.git/

 这个时候在工作区目录下会多出个.git的目录,这个目录是Git来跟踪管理版本库的,不要手动修改这个目录里面的文件,否则容易把Git仓库给破坏了。

3、添加文件到版本库中

  (1)注意事项

  所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

  需要注意的是Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的。因为文本是有编码的,比如中文有常用的GBK编码,建议所有文本文件使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。

  有一点尽量不要使用Windows自带的记事本编辑任何文本文件,因为其在保存UTF-8编码的文件时,会在每个文件开头添加一个0xefbbbf(十六进制)的字符,可能会出现文本开头处会莫名其妙地多出“?”,很容易出现编译错误。建议使用Notepad++代替记事本,把编码格式改为UTF-8 without BOM即可。

  (2)添加文本文件

  • 编写一个.text文件,放到learngit目录下,这样Git才能找到;
  • 第一步,用命令git add告诉Git,把文件添加到仓库: $ git add readme.txt ,实际上就是把文件修改添加到暂存区stage(或是index);
  • 第二步,用命令git commit告诉Git,把文件提交到仓库:
    $ git commit -m "wrote a readme file"
    [master (root-commit) cb926e7] wrote a readme file
     1 file changed, 2 insertions(+)
     create mode 100644 readme.txt

     git commit -m "xxx" 输入的是本次提交的说明,可以输入有意义的内容,这样你就能从历史记录里方便地找到改动记录,实际上就是把暂存区的所有内容提交到当前分支master。

   另外可以使用 $ git add xxx 添加多个文件,然后利用 git commit -m "xxx" 同时提交,如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

4、小结

把文件往Git版本库里添加的时候,是分两步执行的:

  第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区;

  第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。

  因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在, git commit 就是往master分支上提交更改。

  可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

  一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的,暂存区里也没有任何内容。

转载于:https://www.cnblogs.com/susq/p/7002544.html

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

余额充值