博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git服务器搭建(gogs服务)
阅读量:4130 次
发布时间:2019-05-25

本文共 2325 字,大约阅读时间需要 7 分钟。

一、GIT

1.1Gogs

Go语言开发的Git服务器。

1.2 软件依赖

1.2.1 Git

yum install git -y

1.2.2 Mysql

$ yum install mariadb

设置mysql数据库环境,mysql_secure_installation

1.2.3 安装

下载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 配置

概述

数据库安全

二、Git

安装:

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

概念

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
    其它语言的在这里找

提交代码

$ git commit --help

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

文件的生命周期

文件的生命周期  文件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
diff

HEAD

HEAD可以看做是一个游标,指向当前分支最后一次提交。

HEAD的值存储在.git/HEAD中。
HEAD,指代最后一次commit
HEAD^,指代上一次提交
HEAD^^,指代上上一次提交
上n次提交,表示为HEAD~n

检出和重置

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

检出

重置

重置

转载地址:http://tpfvi.baihongyu.com/

你可能感兴趣的文章
Oracle 分组排序函数
查看>>
删除weblogic 域
查看>>
VMware Workstation 14中文破解版下载(附密钥)(笔记)
查看>>
日志框架学习
查看>>
日志框架学习2
查看>>
SVN-无法查看log,提示Want to go offline,时间显示1970问题,error主要是 url中 有一层的中文进行了2次encode
查看>>
NGINX
查看>>
Qt文件夹选择对话框
查看>>
1062 Talent and Virtue (25 分)
查看>>
1061 Dating (20 分)
查看>>
1060 Are They Equal (25 分)
查看>>
83. Remove Duplicates from Sorted List(easy)
查看>>
88. Merge Sorted Array(easy)
查看>>
leetcode刷题191 位1的个数 Number of 1 Bits(简单) Python Java
查看>>
leetcode刷题198 打家劫舍 House Robber(简单) Python Java
查看>>
NG深度学习第一门课作业2 通过一个隐藏层的神经网络来做平面数据的分类
查看>>
leetcode刷题234 回文链表 Palindrome Linked List(简单) Python Java
查看>>
NG深度学习第二门课作业1-1 深度学习的实践
查看>>
Ubuntu下安装Qt
查看>>
Qt札记
查看>>