页面“Git fetch和git pull的区别”与“Gogs搭建自己的git服务器”之间的差异

来自linux中国网wiki
(页面间的差异)
跳到导航 跳到搜索
docker>Evan
(导入1个版本)
 
docker>Evan
 
第1行: 第1行:
  
 +
==官网==
 +
[https://gogs.io/ https://gogs.io/]
  
 +
== Docker for Gogs==
 +
<pre>
 +
母机
 +
192.168.50.159
 +
 +
参考命令这里-d将容器跑到后台,不在当前终端输出
 +
#docker run --name=jenkins -it -u root -d -p 8080:8080 -p 50000:50000 -v /data/jenkins:/var/jenkins_home 3f08dc4f3f5d
 +
 +
# Pull image from Docker Hub.
 +
$ docker pull gogs/gogs
 +
 +
# Create local directory for volume. 物理机数据目录
 +
$ mkdir -p /var/gogs
  
 +
# Use `docker run` for the first time.
 +
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
  
== git fetch ==
+
# Use `docker start` if you have stopped it. 以后启动用这个命令就行了
 +
$ docker start gogs
 +
 
 +
docker exec -it gogs /bin/bash
 +
 
 +
http://192.168.50.159:10080/install
 +
#用sqlite3 直接配置就行了,如果想要mysql 得自己搞一下喽 改为真实地址可以 pull push 但是不好看呢
 +
 
 +
 
 +
域名 应用 URL 这些要改 为
 +
192.168.50.159:10080
 +
 
 +
clone
 +
 
 +
git clone ssh://git@hostname:10022/username/myrepo.git
 +
 
 +
#注意  就是有很多地方 像新建的仓库地址显示为localhost 这个得改一下  还有 key 添加 无论在project 还是用户 哪里添加 都还是要密码 是glone 要指定用户名么
 +
 
 +
</pre>
 +
 
 +
===参考===
 +
https://github.com/gogs/gogs/tree/master/docker
 +
 
 +
[https://www.jianshu.com/p/4e43bda3e1f2 使用Docker搭建git服务Gogs]
 +
 
 +
[https://www.blackglory.me/docker-deploy-nginx-and-gogs/ 使用Docker部署Nginx + Gogs快速搭建在线Git服务]
 +
 
 +
[https://www.jianshu.com/p/75f2117a837c Docker部署(四):Gogs]
 +
 
 +
[https://github.com/helm/charts/tree/master/incubator/gogs helm gogs]
 +
 
 +
== 下载二进制包 ==
  
相当于是从远程获取最新版本到本地,不会自动merge(合并)
 
<pre>
 
git fetch origin master
 
git log -p master..origin/master
 
git merge origin/master </pre>
 
  
以上命令的含义:<br/> 首先从远程的origin的master主分支下载最新的版本到origin/master分支上<br/> 然后比较本地的master分支和origin/master分支的差别,最后进行合并
+
== 数据库相关操作 ==
 +
<pre>#不用创建库 mysql -uroot -pevan < scripts/mysql.sql
  
上述过程其实可以用以下更清晰的方式来进行:
+
create user 'gogs'@'localhost' identified by 'evan';
<pre>git fetch origin master:tmp
+
create user 'gogs'@'127.0.0.1' identified by 'evan';
git diff tmp
+
grant all privileges on gogs.* to 'gogs'@'localhost' identified by "evan";
git merge tmp</pre>
+
grant all privileges on gogs.* to 'gogs'@'127.0.0.1' identified by "evan";
 +
flush privileges;
 +
exit;
 +
</pre>
  
&nbsp;从远程获取最新的版本到本地的test分支上<br/> &nbsp;之后再进行比较合并
+
== 创建git 用户 ==
 +
<pre>useradd git&nbsp;; passwd git&nbsp;</pre>
  
 
&nbsp;
 
&nbsp;
  
&nbsp;
 
  
[[Category:Git]]
 
  
== git pull==
 
相当于是从远程获取最新版本并merge到本地<br/> git pull origin master
 
  
上述命令其实相当于git fetch 和 git merge<br/> 在实际使用中,git fetch更安全一些<br/> 因为在merge前,我们可以查看更新情况,然后再决定是否合并,但是git hook 用 git pull多一些&nbsp;
+
== 配置启动文件 ==
 +
<pre>cp scripts/init/centos/gogs /etc/init.d/ </pre>
 +
 
 +
#GOGS_HOME=/data/gogs/gogs
 +
<pre>sed -i 's#GOGS_HOME=/home/git/gogs#GOGS_HOME=/data/gogs/#' /etc/init.d/gogs&nbsp;
 +
 
 +
mkdir -p /data/gogs/log;
 +
 
 +
chmod +x /etc/init.d/gogs
 +
chown -R git:git /data/gogs/;
 +
 
 +
/etc/init.d/gogs start </pre>
 +
 
 +
#./gogs web
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== web 界面安装 ==
 +
  mkdir -p /data/gogs-repositories &&&nbsp;chown -R git:git /data/gogs-repositories
 +
 
 +
[http://192.168.3.9:3000/install http://192.168.3.9:3000/install]<br/> ip:3000;
 +
 
 +
web 界面安装中要注意的&nbsp;
 +
 
 +
仓库根目录 &nbsp;/data/gogs-repositories
 +
 
 +
<br/> 服务器和其它服务设置 禁止用户自主注册&nbsp;<br/> 启用登录访问限制
 +
 
 +
 
 +
==  常见问题==
 +
[https://gogs.io/docs/intro/faqs 官方常见问题]
 +
&nbsp;
 +
 
 +
&nbsp;
  
&nbsp;http://www.tech126.com/git-fetch-pull/&nbsp;
+
[[Category:Git]]

2019年6月11日 (二) 03:31的版本

官网

https://gogs.io/

Docker for Gogs

母机
192.168.50.159

参考命令这里-d将容器跑到后台,不在当前终端输出
#docker run --name=jenkins -it -u root -d -p 8080:8080 -p 50000:50000 -v /data/jenkins:/var/jenkins_home 3f08dc4f3f5d

# Pull image from Docker Hub.
$ docker pull gogs/gogs

# Create local directory for volume. 物理机数据目录
$ mkdir -p /var/gogs

# Use `docker run` for the first time.
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

# Use `docker start` if you have stopped it. 以后启动用这个命令就行了
$ docker start gogs

docker exec -it gogs /bin/bash

http://192.168.50.159:10080/install
#用sqlite3 直接配置就行了,如果想要mysql 得自己搞一下喽 改为真实地址可以 pull push 但是不好看呢


域名 应用 URL 这些要改 为
192.168.50.159:10080

clone 

git clone ssh://git@hostname:10022/username/myrepo.git

#注意  就是有很多地方 像新建的仓库地址显示为localhost 这个得改一下  还有 key 添加 无论在project 还是用户 哪里添加 都还是要密码 是glone 要指定用户名么 

参考

https://github.com/gogs/gogs/tree/master/docker

使用Docker搭建git服务Gogs

使用Docker部署Nginx + Gogs快速搭建在线Git服务

Docker部署(四):Gogs

helm gogs

下载二进制包

数据库相关操作

#不用创建库 mysql -uroot -pevan < scripts/mysql.sql

create user 'gogs'@'localhost' identified by 'evan';
 create user 'gogs'@'127.0.0.1' identified by 'evan';
 grant all privileges on gogs.* to 'gogs'@'localhost' identified by "evan";
 grant all privileges on gogs.* to 'gogs'@'127.0.0.1' identified by "evan";
 flush privileges;
 exit;

创建git 用户

useradd git ; passwd git 

 



配置启动文件

cp scripts/init/centos/gogs /etc/init.d/ 
#GOGS_HOME=/data/gogs/gogs 
sed -i 's#GOGS_HOME=/home/git/gogs#GOGS_HOME=/data/gogs/#' /etc/init.d/gogs 

mkdir -p /data/gogs/log;

chmod +x /etc/init.d/gogs
chown -R git:git /data/gogs/;

/etc/init.d/gogs start 
#./gogs web



web 界面安装

 mkdir -p /data/gogs-repositories && chown -R git:git /data/gogs-repositories

http://192.168.3.9:3000/install
ip:3000;

web 界面安装中要注意的 

仓库根目录  /data/gogs-repositories


服务器和其它服务设置 禁止用户自主注册 
启用登录访问限制


常见问题

官方常见问题