Git入门

Git是一个分布式版本控制系统,本文介绍了Git的基础知识,包括与svn的区别、github的使用、仓库创建、文件状态与工作区域、常用命令等。通过学习,你可以掌握如何创建、克隆、提交、推送本地项目到远程仓库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git 简介

Git ,一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

svn比对

git是分布式的
GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别
git仓库的任何一个拷贝都可以独立作为一个服务器来使用,因为git是分布式的,在远程仓库和本地仓库中都有完整拷贝。
在Git中文件有四种状态:
未跟踪(untrack):表示文件为新增加的
已修改(modified):表示修改了文件,但还没保存到git仓库中。
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
已提交(committed):表示文件已保存在git仓库中。
 其它
GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏

 直接记录快照,而非差异
GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
直接记录快照,而非差异
GIT分支和SVN的分支不同,分支在SVN中一点不特别,就是版本库中的另外的一个目录。

前三个不同点重点理解,后面几个一般性了解

github

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。
github上repository分为public和private,public可以被其他人看到并clone;而private是不能被别人看到的。这里把repository创建为private的场景为:自己创建一个私人项目,但是又需要和其他developer一起开发,所以,需要developer都能克隆这个private repository,并且都能提交到这个private repository。
目前GitHub为微软所有,可以免费的创建私有仓库,但免费的情况下,协助的成员最多为3个。Gitee为五个。

创建GitHub仓库

勘误:生成readme.md(markdown类型的文件)文件而不是readme.txt文件

创建完成后

 若想删除仓库

 

 新建文件及文件夹

git原理

  配置账户及邮箱

一般刚安装Git都要配置用户名和邮箱,因为你提交代码到本地仓库(上传代码到远程仓库)时会用到。如果没有没有配置,在你提交时它会提醒,如果仅仅是下载公有仓库则不需要,甚至不需要注册。

成功安装git后,在任何目录点击右键,选择“git bash here”即可进入git的命令窗口:

1)查看git的配置信息 

git config --list

 2)设置用户名及邮箱

git config --global user.name "username"
git config --global user.email "email"
# 为安全,一般不在配置信息中设置密码
git config --global user.password "password"

注:
全局配置:
--global 表示全局的,即当前用户都有效,该配置会出现在 ~/.gitconfig 文件中,~表示当前用户的目录,
比如:C:\Users\Administrator.gitconfig,打开该文件你会发现如下图所示的内容:
[user]
name = xxx
email = xxx@qq.com
局部配置
git config user.name "username"
git config user.email "email
局部是只对当前仓库起效的,它的配置信息会在当前仓库根目录/.git/config文件下。注意:局部变量覆盖全局变量 

3)删除某个全局配置项 

git config --global --unset user.name

 git文件状态与工作区域

git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中.

  1. git中的文件有以下几种状态
  • 未跟踪(untrack):表示文件为新增加的
  • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
  • 已提交(committed):表示文件已保存在git仓库中。
  • 已修改(modified):表示修改了文件,但还没保存到git仓库中。
  1. 工作区域
    按照本地计算机与远程计算机划分,工作区域有以下几种
  • 本地计算机
    Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。
    Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。可以使用 git ls-files 查看暂存区的内容。
    Repository(本地仓库):提交到本地仓库的文件。
  • 远程计算机
    Repository(远程仓库):已提交到远程计算机内的文件。

 常用命令

命令作用
git init初始化仓库
git clone将远程仓库clone到本地计算机
git status展示工作区及暂存区域中不同状态的文件
git add将内容从工作目录添加到暂存区
git commit所有通过 git add 暂存的文件提交到本地仓库
git reset HEAD <file>从暂存区移除指定文件
git checkout -- <file>从本地仓库恢复指定文件
git pull

拉取远程仓库的数据

 克隆(clone)

到本地目录(你所要放置项目的目录),右击鼠标,选择“git bash here”进入git命令行。

git clone https://github.com/lisensir/hello-world.git

例:

 

注:本例演示了通过https协议克隆,除了https协议git还支持如下协议:
git clone git@github.com:fsliurujie/test.git --SSH协议
git clone git://github.com/fsliurujie/test.git --GIT协议

与其他版本控制软件,如svn相比,这里使用的克隆(clone),而不是检出(checkout),git 收取的是项目历史的所有数据(每一个文件的每一个版本),服务器上有的数据克隆之后本地也都有了。实际上,即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态

将新创建的文件并添加到“暂存区”

在git管理的目录(如上例中的hello-word目录),新建一个文件
可以使用如下命令查看状态:

git status

 注:红色表示没有加入暂存区。

加入暂存区

git add .

注:可指定文件,也可使用点将全部为添加文件全部添加置暂存区

 将暂存区的内容提交到本地仓库

git commit -m "注释"

 

 “本地仓库”的内容提交到“远程仓库”

语法:
git push <远程主机名> <本地分支名>  <远程分支名>

示例:

git push origin master

 注:
如果省略远程分支名,则推入与本地分支同名的远程分支
远程分支一般默认的名称为 origin,但不是必须的。

git push -u origin master

注:如果带有-u参数,则指定了默认的远程主机, 这样以后再推入时,可以简写为:git push。不带任何参数的git push,默认只推送当前分支,这叫做simple方式。

 

 将本地项目推入远程仓库 

1)在本地创建一个目录:
 

 2)进入gitdemo目录,右击鼠标打开git命令行(Git Base Here)
3)使用git init 初始化git仓库

4)在gitdemo目录中添加一个测试文件,如abc.txt
5)将新增的abc.txt文件加入的本地仓库(分两步,见下图)

6) 在github中创建仓库 

 

7)本地仓库与远程仓库关联

添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

8)把本地库的所有内容推送到远程库上

 

总结

以上是一些Git的基本操作,介绍Git的基本原理,也介绍了Git的基本使用,就是简单的介绍了一下Git,这里我采用的是GitHub,但由于局域网的网咯原因,GitHub可能会登不上,我们就可以选择国内的网站--Gitee,和Git使用是基本类似的。下次我们在来介绍Git的标签及分支的使用

### Git入门教程:基本用法与学习资源 Git 是一个分布式版本控制系统,广泛应用于代码管理、协作开发等领域。以下是关于 Git 的基本使用方法入门知识的详细介绍。 #### 1. 初始化仓库 在开始使用 Git 前,需要初始化一个仓库。通过以下命令可以在当前文件夹中创建一个 `.git` 隐藏文件夹,用于存储版本控制信息。 ```bash git init ``` 此命令会生成一个名为 `.git` 的文件夹,标志着该目录下的内容可以被 Git 管理[^1]。 #### 2. 配置用户信息 为了确保提交记录中包含正确的用户名邮箱地址,可以通过 `git config` 命令进行全局配置: ```bash git config --global user.name "Your Name" git config --global user.email "[email protected]" ``` 这些配置将应用于当前机器上的所有 Git 仓库[^4]。 #### 3. 克隆远程仓库 如果需要从远程服务器(如 GitHub 或其他代码托管平台)获取一个项目副本,可以使用以下命令: ```bash git clone <repository_url> ``` 例如: ```bash git clone https://github.com/username/repository.git ``` 此操作会下载整个项目的完整历史记录,并将其保存到本地磁盘上[^2]。 #### 4. 添加与提交更改 当对文件进行了修改后,需要先将其添加到暂存区,再提交到本地仓库: - 将单个文件添加到暂存区: ```bash git add <filename> ``` - 将所有更改过的文件一次性添加到暂存区: ```bash git add . ``` - 提交更改到本地仓库,并附带描述信息: ```bash git commit -m "Commit message" ``` #### 5. 查看状态与日志 查看当前工作目录的状态,包括哪些文件被修改但尚未提交: ```bash git status ``` 查看提交历史记录: ```bash git log ``` #### 6. 拉取与推送更改 从远程仓库拉取最新更改到本地: ```bash git pull origin <branch_name> ``` 将本地更改推送到远程仓库: ```bash git push origin <branch_name> ``` #### 7. 创建与切换分支 Git 支持分支开发模式,允许开发者在同一项目中并行处理不同功能或修复问题。 - 创建新分支: ```bash git branch <branch_name> ``` - 切换到指定分支: ```bash git checkout <branch_name> ``` - 合并分支: ```bash git merge <branch_name> ``` --- ### 学习资源推荐 对于初学者而言,以下资源可以帮助更深入地理解 Git 的使用方法: 1. **史上最全 Git 图文教程**:涵盖了从零基础到精通的所有知识点。 2. **Git 命令大全**:提供了全面且实用的 Git 命令列表[^2]。 3. **Git 基本使用方法教程**:适合入门级用户快速上手[^3]。 4. **Git 入门教程(小白必看)**:专注于新手友好的讲解方式。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值