git安装学习笔记

一、GIT

1.1Gogs

Go语言开发的Git服务器。https://gogs.io/

1.2 软件依赖

yum库
访问阿里镜像站http://mirrors.aliyun.com ,找到centos,点击右边“帮助”

1.2.1 Git安装

# yum install git -y

设置mysql数据库环境,mysql_secure_installation

1.2.2 安装

下载gogs安装程序gogs0.11.4_amd64.tar.gz,上传到Centos解压,生产gogs目录,里面就是gogs所有文件。初始化数据库
$ mysql -uroot -p < scripts/mysql.sql # 其实就是创建了一个gogs的库
为gogs库创建mysql用户gogs,并授权
mysql> grant all on gogs.* to ‘gogs’@’%’ identified by ‘gogs’;
mysql> flush privileges;

1.3 配置

参考官方文档 https://gogs.io/docs/advanced/configuration_cheat_sheet.html

数据库(database)
数据库

二、Git

安装: https://git-scm.com/downloads

下载对应操作系统的Git客户端版本

概念

在这里插入图片描述
Repository仓库、版本库:git初始化后,会在当前目录生成一个.git目录,这就是版本库
Workspace工作空间、工作区
.git所在的目录就是工作区,一般是项目的根目录
index索引:介于工作区和版本库之间,暂存修改的
remote 远程版本库:网络上的另一个版本库,可以和本地库交互

使用

初始化一个版本库

$ git init
在当前目录中增加了一个.git目录,不要自行修改这个目录里面的文件。当前目录一般是项目的根目录。

添加文件

$ echo ‘testMy Website’ > index.htm
$ git add index.htm
单个文件添加:
  这一步是把文件的当前变化增加到索引中,也就是以后这个文件需要版本库来跟踪管理,注意这不是提交。此时,文件还可以继续修改,还可以添加新的被跟踪文件,一定要add才能把这些改变加入到索引中。
多个文件添加:
$ git add .
  .点号,代表当前目录,这条命令将递归添加当前目录及其子目录所有文件
只要是目录,就会递归添加该目录下的文件和子目录。

查看状态

$ git status
$ git status -s

git的文件分类
  • 追踪的Tracked,已经加入版本库的文
  • 未追踪的Untracked,未加入到版本库的未被管理的文件
  • 忽略的Ignored,git不再关注的文件,例如一些临时文件 .gitignore文件中,目录以/结尾,行起始的!是取反
    .gitignore内容如下:
    .ipynb
    pycache/
    .

    忽略文件不需要自己写,Python的已经有了
    了https://github.com/github/gitignore/blob/master/Python.gitignore
$ wget -O .gitignore https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore

其它语言的在这里找 https://github.com/github/gitignore

提交代码

$ git commit --help
$ git commit -m “First Commit”
[master (root-commit) 8a73953] First Commit
Committer: python <python@nodex.(none)>
commit 提交更改到版本库
-m 填写本次日志消息,必须写。工作中,程序员应该对每一次提交写明做了什么改动

文件的生命周期

文件的生命周期 &emsp

;文件add后,就成为可跟踪文件的未修改状态unmodified,修改后,文件就变成modified状态。再次add后,将变化提交到索引,状态变为staged,这才能提交。提交成功,文件状态从staged变回unmodified。

git的提交

git的提交分为两个步骤:
暂存变更:add作用是把新文件或者文件新的改动添加到一个暂存区stage,也就是加入到index中。
提交变更:commit提交的是暂存区中的改动,而不是物理文件目前的改动,提交到当前分支,默认是master分支。
也可以使用下面命令,将两步合成一步
$ git commit index.htm
如果改动了一批文件,一个个写名字很麻烦,使用下面的命令:
$ git commit -a
-a,–all 会把所有跟踪的文件的改动自动暂存,然后commit。上面命令未提交message,会出现一个类似vi命令的
操作界面,需要编写message之后,才行。
也可以使用下面的命令,把message信息一并填写了。
$ git commit -a -m “message”

增补

二次提交后,忘记加入一个文件about.htm

–amend 修改,通过创建一个新的commit来replace当前分支的顶部。
也可以在命令中继续使用-m选项直接提交message。
git log 查看一下版本库里面提交的历史记录。

diff比较

查看各种差异:
git diff 查看被跟踪文件未暂存的修改,比较暂存区和工作区
git diff --cached 查看被跟踪文件暂存的修改,比较暂存区和上一次commit的差异
git diff HEAD ,查看被跟踪文件,比较工作区和上一次commit的差异。HEAD指代最后一次commit
在这里插入图片描述

HEAD

HEAD可以看做是一个游标,指向当前分支最后一次提交。
HEAD的值存储在.git/HEAD中。
HEAD,指代最后一次commit
HEAD^,指代上一次提交
HEAD^^,指代上上一次提交
上n次提交,表示为HEAD~n

检出和重置

  checkout 用于切换分支,或恢复工作区文件。注意,checkout会重写工作区,这个命令还是较为危险的。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值