git学习--上篇

本文介绍了Git这一分布式版本控制系统,对比了集中式与分布式版本控制系统的特点。详细说明了Git在Linux和Windows平台的安装方法及配置,还阐述了在Windows平台创建版本库的步骤,包括文件添加、提交等操作,同时介绍了版本回退、撤销修改、删除文件等功能的使用。

Git简介

是什么

Git是目前世界上最先进的分布式版本控制系统,通俗的说就是分布式管理代码的软件工具。它是Linus公司用C语言两周完成的。

 

集中式版本控制系统和分布式版本控制系统的比较:

集中式特点:版本库必须集中存放在中央服务器;必须联网工作;速度慢;安全性低;

分布式特点:每台电脑都是一个版本库;无需联网工作;速度快;安全性高;强大的分支管理。

 

Git安装

Linux平台:

如果是Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装;老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core;

如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了。

 

Windows平台:

在Windows上使用Git,可以从Git官网(https://git-scm.com)直接下载与电脑相匹配的软件并安装程序,然后按默认选项安装即可。

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

安装完成后,进行设置:

$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

 

创建版本库(Windows平台):

创建一个空白目录,尽量不使用中文;

进入此目录后,用git init 命令把这个目录变成git管理的仓库;

这时会发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然就把Git仓库给破坏了;

编辑文件时,推荐使用notepad++,尽量不使用Windows自带的记事本(在工作目录中添加和修改文件);

把需要版本管理的文件放入暂存区域,用 git add 文件名;

把暂存区域的文件提交到git仓库,用 git commit -m “注释”;

 

时光穿梭

 

版本回退:

git log或者git log --pretty=oneline命令显示从最近到最远的提交日志(查看历史版本);

git reset --hard HEAD^  回退到上一个版本(HEAD表示当前版本,^有几个就回退几个);

git reset --hard HEAD^^  回退到上上个版本;

git reset --hard 版本号  回退到该版本号(版本号可以写前几位);

用git reflog查看命令历史;

 

三区域:

工作区:电脑里能看到的目录;

暂存区:.git(git的版本库)里存了最重要的就是称为stage(或者叫index)的暂存区;

分支区(git仓库):.git(git的版本库)里存了Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD;

git add把文件添加进去,只负责把文件修改添加到暂存区;

git commit提交更改,只负责把暂存区的所有内容提交到当前分支。

Git管理的实质是修改,而不是文件。

Git  status   查看状态

 

撤销修改:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

命令git checkout -- file意思就是,把 file文件在工作区的修改全部撤销,这里有两种情况:

一种是file自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是file已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

 

删除文件:

在工作区中:你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了;然后你确实要删除版本库中的内容,那就用命令git rm或者git add 命令删掉,并且git commit。

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本,git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

 

 

<think>好的,用户想要寻找关于Git学习资料,特别是搭建相关的教程或指南。首先,我需要回顾用户提供的引用内容。 引用[1]提到了Git教程,推荐了Gitee和GitLab,适合国内用户使用,因为GitHub可能有访问速度问题。用户可能需要基础教程和替代平台的信息。引用[2]详细说明了如何在本地搭建Git服务器,包括初始化仓库和客户端上传步骤。用户对搭建自己的Git服务器感兴趣,比如公司内部使用GitLab的情况。 接下来,我需要整理这些信息,分步骤回答。首先,推荐基础学习资料,包括官方文档和中文教程。然后,介绍搭建私有仓库的教程,包括GitLab和Gitea。用户可能还需要了解自建服务器的步骤,比如使用git init --bare创建裸仓库,以及客户端如何连接。此外,可能还需要推荐书籍和视频教程,帮助用户深入学习。 用户的问题可能还涉及如何选择适合自己团队的解决方案,比如GitLab适合企业,而Gitea适合轻量级需求。需要解释不同工具的优缺点。另外,基础操作和进阶资源也需要覆盖,确保用户从入门到进阶都有资料参考。 检查是否有遗漏点,比如权限管理、分支策略等高级主题,是否需要提及?根据引用内容,用户主要关注搭建教程,但可能也需要一些进阶资源。因此,在推荐资料时,应包括基础和进阶内容,满足不同层次的需求。 最后,生成相关问题,帮助用户深入探索Git的搭建和使用。例如,如何选择自建Git服务,或者Git仓库的权限管理方法。这些问题能引导用户进一步学习,解决实际操作中可能遇到的问题。</think>以下是关于Git学习资料及搭建教程的整理和推荐,结合引用内容和实际需求: --- ### 一、Git基础学习资料 1. **官方文档** Git官方提供完整的英文文档,涵盖所有基础命令和原理:[Git Book](https://git-scm.com/book/en/v2) *适合系统性学习,但需要一定英语基础。* 2. **中文快速入门教程** - 廖雪峰Git教程:[Git教程](https://www.liaoxuefeng.com/wiki/896043488029600) *从安装到分支管理,内容通俗易懂,适合新手。* - 菜鸟教程Git篇:[Git简明指南](https://www.runoob.com/git/git-tutorial.html) *提供命令速查和基础操作演示。* --- ### 二、Git私有仓库搭建教程 #### 1. **自建Git服务器** - **引用[2]的方法**: 在服务器上执行 `sudo git init --bare sample.git` 创建裸仓库,客户端通过SSH或HTTP协议连接上传代码[^2]。 *适用于小型团队或个人项目,无需复杂配置。* - **详细步骤**: ```bash # 服务器端 mkdir /opt/git && cd /opt/git sudo git init --bare myproject.git chown -R git:git myproject.git # 设置权限 # 客户端 git remote add origin user@server:/opt/git/myproject.git git push origin master ``` #### 2. **企业级解决方案** - **GitLab搭建** - 官方文档:[GitLab Omnibus安装指南](https://docs.gitlab.com/ee/install/) *提供Docker、Linux等多种安装方式,适合企业级代码管理。* - 国内优化方案: *替换Gem源为阿里云镜像以加速安装,解决依赖问题。* - **轻量级替代:Gitea** - 官网教程:[Gitea快速部署](https://docs.gitea.io/en-us/) *单二进制文件部署,资源占用低,适合中小团队[^1]。* #### 3. **国内代码托管平台** - **Gitee(码云)** - 官方教程:[Gitee帮助中心](https://gitee.com/help) *提供Git基础操作、仓库管理及CI/CD集成,访问速度快。* --- ### 三、进阶学习资源 1. **分支策略与协作** - 《Pro Git》第5章:[分布式Git工作流](https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows) *深入讲解Git Flow、GitHub Flow等协作模型。* 2. **权限管理** - GitLab权限配置:[Project Members权限说明](https://docs.gitlab.com/ee/user/permissions.html) *细化开发者、维护者角色权限,保障代码安全。* 3. **书籍推荐** -Git权威指南》:全面覆盖Git底层原理和高级技巧。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值