Git 学习文档

一、介绍
Git是一款免费、开源的分布式版本控制系统,不必服务器端软件支持。用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
在这里插入图片描述

二、安装配置
1、安装
在linux系统上进行安装事实上是非常便利的,以作者使用的CentOS系统为例,安装命令如下:

yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel

yum -y install git-core

安装完成后,你可以如下查看git

git --version

2、配置
你可以自行配置用户信息和文本编辑器以及差异分析工具,只需要查询相关的命令即可。

三、完整的git工作流程
在这里插入图片描述

因此我们可以看到,git可以帮助你和他人共同对文件进行修改、操作。

四、工作区、暂存区、版本库
下图可以清晰地展示三者之间地关系
在这里插入图片描述
我们可以来具体地定义:
工作区:即电脑中的目录
暂存区:存放在.git/index中
版本库:工作区中的隐藏目录.git

我们可以来分析几个命令:
git add:对工作区文件执行,则暂存区目录树被更新,工作区修改的文件内容被写入到对象库中的一个新的对象中,而对象的ID被记录在暂存区的文件索引中。

git rm --cached :直接从暂存区删除文件,工作区则不做出改变。

五、仓库
git clone
我们在下载软件过程中频繁使用的命令
我们可以克隆文件到指定目录:

git clone <repo> <directory>

其中:repo为Git的仓库,directory为本地的目录

git init命令
我们可以使用指定目录作为仓库,不指定则在当前目录自动生成,例如:

git init yusnwang 

接着我们就可以利用get add命令添加一些文件到仓库中。

六、一些基本操作
在这里插入图片描述
其中:git commit -为将暂存区内容添加到仓库中。

1、提交与修改
我们重点关注git add的相关命令

# 逐个添加文件
git add filename
# 添加当前目录中的所有文件
git add -A
# 添加当前目录中的所有文件更改
git add .
# 选择要添加的更改(你可以 Y 或 N 完成所有更改)
git add -p

2、一些远程操作
git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并

3、日志与修改
git log

//显示存储库中所有提交的列表 该命令显示有关提交的所有信息,例如提交ID,作者,日期和提交消息
git log

// 提交列表仅显示提交消息和更改
git log -p

//包含您要查找的特定字符串的提交列表
git log -S 'project'

//显示存储库中提交列表的摘要。显示提交ID和提交消息的较短版本。
git log --oneline

//显示昨天以来仓库中的提交列表
git log --since=yesterday

//等等

git blame

// 查看指定文件的修改记录
git blame <file>

七、分支与合并
分支使你可以在不影响master分支的情况下处理代码的单独副本。首次创建分支时,将以新名称创建master分支的完整克隆。然后,你可以独立地在此新分支中修改代码,包括提交文件等,当你将新功能添加到分支中之后,你可以将其合并回master分支

1、分支

 //创建分支
git branch (branchname)
//查看存储库的所有当前分支
git branch -a
//用于查看代码来源(即已合并到当前分支中的分支)
git branch -a --merged
//切换分支
git checkout (branchname)
//删除分支
git branch -d (branchname)

2、合并

// 合并到当前分支
git merge
//可以利用命令查看当前分支
git checkout master

八、修复错误和回溯

//切换到最新提交的代码版本
git reset HEAD 
// 切换到最新提交之前的代码版本
git reset HEAD^ -- filename

九、搜索

// 搜索目录中的字符串
git grep 'project'

十、标签

git tag -a v1.0 

-a 选项为"创建一个带注解的标签"

十一、远程仓库
目的:将数据放到一台其他开发人员能够连接的服务器上。

添加:

git remote add [shortname] [url]

当远程仓库是github是,因为传输通过SSH加密,还需要

ssh-keygen -t rsa -C "youremail@example.com"

这会生成一个.ssh文件夹,打开其中的id_rsa.pub,你可以得到所需要的key,进入github设置SSH and GPG key,并验证

ssh -T git@github.com

再创建相应的仓库,根据github的提示:

$ mkdir runoob-git-test                     # 创建目录
$ cd runoob-git-test/                       # 进入目录
$ echo "# 测试" >> README.md     
# 创建 README.md 文件并写入内容
$ ls                                        # 查看目录下的文件
README
$ git init                                  # 初始化
$ git add README.md                         # 添加文件
$ git commit -m "添加 README.md 文件"        # 提交并备注信息

# 提交到 Github
$ git remote add origin git@github.com: 仓库目录
$ git push -u origin master

即可完成上传
还可以利用git remote查看当前的远程库,git remove删除

参考资料:
1、link.
2、link.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值