当前位置:首页 » 云服务器 » 腾讯云服务器git搭建

腾讯云服务器git搭建

发布时间: 2022-08-03 02:52:24

A. 如何在自己的服务器上建立 git 仓库

1. lvm 2. raid 3. distribute filesystem(glusterfs\sector\......) 4 (我知道) 前面三选做完两块盘块用建基本服务器事

B. 如何创建自己的私有git服务器

通过以下的步骤,你将在服务器上搭建并使用你自己的Git服务,例如myhost.example.com。其中的一些步骤,像email通知,限制用户的权限,特定分组的接入管理,都是依据你的要求和现实状况的可选项。还有很多命令,你需要root权限才能执行,所以别忘了用sudo,或者(最好不要)直接切换到root来执行。
为有读写权限的用户建立一个分组。根据你的操作系统,你可以用groupadd命令来实现,用vigr来编辑分组文件,或者直接编辑/etc/group文件。在最后,你会在/etc/group文件中看到如下一行
repogroup:*:10005:marry,john,violet

其中,repogroup是准许接入这个仓库的组的名字。10005是一个独一无二的分组识别数字,marry,john,violet则是获准接入这个仓库的用户。
决定Git仓库的路径。它既可以放在你的home路径下(e.g. /home/yourname/gitroot),也可以放在一个专用的路径下(e.g. /var/gitroot).
配置权限,让Git用户可以访问这个目录
chmod g+rx /path-to/gitroot
chown :grouprepo /path-to/gitroot

建立新的Git仓库,叫做newrepo
cd /path-to/gitroot
git init --bare newrepo.git

建立路径认证,以允许用户组访问,同时有针对性的设置Git
cd newrepo.git
chown -R :grouprepo .
git config core.sharedRepository group
find . -type d -print0 | xargs -0 chmod 2770
find . -type f -print0 | xargs -0 chmod g=u

设置提交(commit)的email通知(commit是一条命令),这样当有新的修改提交到仓库的时候,开发者们将会收到一封关于修改内容一览的电子邮件。
echo 'One-line project description' >description
git config --local hooks.mailinglist [email protected],[email protected],...
git config --local hooks.emailprefix '[DI-PR] '
git config --local hooks.showrev "git show -C %s; echo"
git config --local hooks.emailmaxlines 100

通过设置一个称为钩子(hook)的东东,来创建这些email通知。
cd hooks
cp post-receive.sample post-receive
chmod +x post-receive

从post-receive的脚本中移除掉最后一行注释的#字号,最后语句应该是这样的
. /path-to-hooks/post-receive-email

在你的库中先放入一个文件(比如README)。为了避免其他用户在第一次提交时遇到奇怪的错误信息时感到困惑,这是有必要的。
cd to-your-personal-working-directory
git clone myhost.example.com:/path-to/gitroot/newrepo.git
echo "Short project description" >README.txt
git add README.txt
git commit -a -m "Add README file"
git push origin master # 第一次仅仅需要T"origin master" 这个参数

为仓库的其他用户建立账户。依据你系统的不同,你可以通过useradd 或者adser来实现。
设置用户可以通过公/私钥配对来访问。这包括以下几步:
1)已经有公钥的用户,只需要把公钥发给你就好。
2)没有公钥的用户,必须用ssh-keygen命令来生成一个,然后把.ssh/id_rsa.pub发给你就可以了。
3)之后你必须在他们对应的账户下面建立这种公/私钥配对。复制他的公钥,然后顺序执行下面的命令。
sudo su - username
mkdir -p .ssh
cat >>.ssh/authorized_keys <<\EOF
paste-key-as-one-line
EOF
exit

改变用户的账户让他们使用受限的shell。如果你想让你添加进来的用户仅仅使用Git,而不是Unix的所有东西,那么就设置他们的账户,让他们只能使用Git。Git提供了这种专为这种需求设计的受限shell。它通常被安装在 /usr/libexec/git-core/git-shell or /usr/local/libexec/git-core/git-shell。因此,对所有你想限制权限的用户,你可以执行以下命令。
sudo chsh -s /usr/libexec/git-core/git-shell username

告诉你的用户,用下面的语句来克隆仓库到本地。
git clone myhost.example.com:/path-to/gitroot/newrepo.git

到了这里,恭喜你,你成功了!

C. windows git服务器怎么创建

安装步骤此处略去。

END
安装CopSSH

安装步骤此处略去。
END
修改配置

修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,确保如下行为非注释行,且设置为“no”:

END
生成用户帐号

1
在服务器上生成Windows用户,取消用户下次登录时须更改密码,设置密码永不过期:

2
将该用户隶属于GitUser组(如尚未生成改组,则先生成改组):

END
激活用户

1
在Windows启动程序组中,运行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2
进入COPSSH Control Panel应用对话框,正常情况下服务应该为正在运行(图标为绿色,如为红色,则可尝试点选该按钮,启动该服务):

3
选择Users页面:

4
点选Add按钮,出现如下导航对话框:

5
选择Forward按钮,出现如下页面,选择欲激活的用户对应的域名及用户名:

6
选择Forward按钮,进入如下页面,选择linux shell and Sftp,所有选项选中:

7
选择Forward按钮,进入确认页面,选择Apply:

8
回到如下页面,选择Apply后,关闭。

END
公钥文件上传

1
从用户处取得对应帐户的公钥文件authorized_keys,复制到C:\Program Files\ICW\home\ricky\.ssh目录下(\ricky\是对应的用户名);
2
Windows启动程序组中运行Start a Unix BASH Shell(或Windows运行中运行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3
运行如下unix命令行,如运行未出错,则完毕。

END
生成Git库容器目录

1
在服务器硬盘上生成一个目录,用来容纳Git库,比如生成E:\ GITTestRepo\目录;
2
鼠标右键点击该目录,选择共享和安全…;
3
在弹出的该目录属性对话框的安全页中加入用户对应的组GitUser;
4
确认该用户组权限设置了允许修改、读取和运行、列入文件夹目录、读取、写入,选择确定后完毕。
END
确认防火墙开放了22端口

确认服务器的防火墙没有禁止22端口的TCP/IP通信。
END
修改用户登录运行脚本

1
修改C:\Program Files\ICW\home\ricky\.bashrc文件(\ricky\是对应的用户名),在文件最后加入

D. 怎样在一台电脑搭建git服务器和本地端

直接使用file:///形式的git仓库即可

E. linux如何搭建git

1、环境准备
服务器:CentOS 7.3 + git (1.8.3.1)
客户端:win10 + git (2.17.0.windows.1)
2、服务器安装git
yum install -y git
3、创建git用户,管理 git服务
[root@localhost home]# useradd git
[root@localhost home]# passwd git
4、服务器创建git 仓库
设置/home/git/repository-git 为git 服务器仓库,然后把 git 仓库的 owner 修改为 git 用户。
复制代码
[root@localhost git]# mkdir repository-git
[root@localhost git]# git init --bare repository-git/
Initialized empty Git repository in /home/git/repository-gt/
[root@localhost git]# chown -R git:git repository-git/
5、客户端安装git
下载 Git for Windows,地址:https://git-for-windows.github.io/
安装完之后,可以使用 Git Bash 作为命令行客户端。
5.1、选择一个目录 F:\project\sell 作为本地仓库,右键进入Git Bash 命令行模式
初始化本地仓库:git init
5.2、尝试克隆一个服务器的空仓库到本地仓库
git clone [email protected]:/home/git/repository-gt
第一次连接到目标 Git 服务器时会得到一个提示:
The authenticity of host '192.168.116.129(192.168.116.129)' can't be established.
RSA key fingerprint is SHA256:Ve6WV/.
Are you sure you want to continue connecting (yes/no)?
选择 yes:
Warning: Permanently added '192.168.116.129' (RSA) to the list of known hosts.
此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。

F. 如何搭建git版本库

服务端配置
1、安装git

2、新建一个用户,只能用来上传代码,而不能通过ssh登录,比如git用户
adser git
chsh -s $(command -v git-shell) git
使用git-shell替换bash ,这样git用户就不能通过ssh登录
这一步会有警告,提示git-shell不在shell列表里,不用担心。

3、添加ssh公钥,在/home/git/.ssh/authorized_keys里添加客户端的公钥,一行一个。
如果没有文件,可以新建
mkdir /home/git/.ssh
touch /home/git/.ssh/authorized_keys

客户端生成公钥的方法是 ssh-keygen,
windows的在C:\Users\用户名\.ssh\ 目录下,打开id_rsa.pub

4、初始化一个空的git仓库
cd /var
git init --bare sample.git
chown -R git:git sample.git
这一步是让目录可以被git用户修改,否则会出现“permission denied”错误。

客户端
1、可以git clone了
git clone git@服务器:/var/sample.git 即服务器上的文件路径
或者ssh,建议ssh,方便设置端口号
git clone ssh://git@服务器:端口号/var/sample.git

G. 如何搭建git私有仓库

以ubuntu服务器为例,如果要创建小范围的私有git服务器,是非常简单的,只需要如下几个简单步骤:
Step 1: 安装git
直接通过sudo apt-get install git即可完成。
Step 2: 创建git用户
git用户用来通过SSH连接git服务,输入命令:
$ sudo adser git

Step 3: 创建证书登录
首先收集所有需要登录的用户公钥,然后导入到/home/git/.ssh/authorized_keys文件即可。
Step 4: 初始化git仓库
假设仓库位于/srv/sample.git,在/srv目录下输入命令:
$ sudo git init --bare sample.git

这样就创建了一个裸仓库,裸仓库没有working dir,因为服务器上的git仓库纯粹是为了共享,仓库目录一般以.git结尾。然后把owner改为git:
$ sudo chown -R git:git sample.git

Step 5: 防止登录shell
出于安全考虑,git用户不应该登录shell,可以编辑/etc/passwd,找到类似一行:
git:x:1001:1001:,,,:/home/git:/bin/bash

改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell。
Step 6: 克隆仓库
在客户端就可以通过ssh克隆仓库了:
$ git clone git@server:/srv/sample.gitCloning into 'sample'...warning: You appear to have cloned an empty repository.

然后,就可以正常推送了:
$ touch README$ git add README$ git commit -m "add readme"$ git push origin masterCounting objects: 3, done.Writing objects: 100% (3/3), 212 bytes, done.Total 3 (delta 0), reused 0 (delta 0)To git@ubuntu:/srv/sample.git
* [new branch] master -> master

H. 如何搭建自己的git服

你可以把仓库放在任何你希望存放仓库的地方,你只需要保证用户和用户组对这个仓库有适合的权限就可以。最好不要把仓库存放在用户自己的工作区,因为权限要求是很严格的,你可以存放在一些共享目录,例如/optor /usr/local/share。

使用root用户创建一个裸仓,并赋予gituser合适的权限:
# git init --bare /opt/jupiter.git# chown -R gituser:gituser /opt/jupiter.git# chmod -R 770 /opt/jupiter.git

现在经过验证的作为gituser的或者gituser用户组的用户可以读取并写入jupiter.git仓库了。你可以试着在你的本地机器执行下面的命令:
$ git clone [email protected]:/opt/jupiter.git jupiter.clone
Cloning into 'jupiter.clone'...
Warning: you appear to have cloned an empty repository.

记住一点:开发者必须把自己的公钥加入gituser用户的authorized_keys文件中,或者他们就是服务器的用户(如果可以的话),并且这个用户必须成为gituser用户组的一员。

I. 怎么在自己的服务器上建立git仓库

1.架设Git服务器我们以Ubuntu为例。首先,在git服务器上创建一个名为'git'的用户,并为其创建一个.ssh目录。并将其权限设置为仅git用户有读写权限$sudoadsergit$sugit$cd$mkdir.ssh$chmod700.ssh接下来,把开发者的SSH公钥添加到这个用户的authorized_keys文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子:$cat/tmp/id_rsa.john.pubssh-/ww+/T17//5zytK6Ztg3RPKK+/nLF6JLtPofwFBlgc+AYYgPqdAv8JggJICUvax2T9va5gsg-keypair只要把它们逐个追加到authorized_keys文件尾部即可,同时将authorized_keys设置为仅git用户有读写权限。$cat/tmp/id_rsa.john.pub>>~/.ssh/authorized_keys$cat/tmp/id_rsa.josie.pub>>~/.ssh/authorized_keys$cat/tmp/id_rsa.jessica.pub>>~/.ssh/authorized_keys$chmod600~/.ssh/authorized_keys现在可以用--bare选项运行gitinit来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。$cd/opt/git$mkdirproject.git$cdproject.git$git--bareinit这时,Join,Josie或者Jessica就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过shell登入主机并创建一个裸仓库目录。我们不妨以gitserver作为git用户及项目仓库所在的主机名。如果在网络内部运行该主机,并在DNS中设定gitserver指向该主机,那么以下这些命令都是可用的:#在John的电脑上$cdmyproject$gitinit$gitadd.$gitcommit-m'initialcommit'$gitremoteaddorigingit@gitserver:/opt/git/project.git$gitpushoriginmaster这样,其他人的克隆和推送也一样变得很简单:$gitclonegit@gitserver:/opt/git/project.git$vimREADME$gitcommit-am'fixfortheREADMEfile'$gitpushoriginmaster用这个方法可以很快捷地为少数几个开发者架设一个可读写的Git服务。作为一个额外的防范措施,你可以用Git自带的git-shell工具限制git用户的活动范围。只要把它设为git用户登入的shell,那么该用户就无法使用普通的bash或者csh什么的shell程序。编辑/etc/passwd文件:$sudovim/etc/passwd在文件末尾,你应该能找到类似这样的行:git:x:1000:1000::/home/git:/bin/sh把bin/sh改为/usr/bin/git-shell(或者用whichgit-shell查看它的实际安装路径)。该行修改后的样子如下:git:x:1000:1000::/home/git:/usr/bin/git-shell现在git用户只能用SSH连接来推送和获取Git仓库,而不能直接使用主机shell。尝试普通SSH登录的话,会看到下面这样的拒绝信息:$sshgit@gitserverfatal:WhatdoyouthinkIam?Ashell?Connectiontogitserverclosed.这里提供的方法,组内所有成员对project都有读写权限,也就是说每个分支都可以push代码,如果需要更加细致的权限控制,请使用Gitosis或者Gitolite。2.搭建Gitweb安装gitweb之后就可以通过网站访问我们的项目了。就像gitweb.conf#pathtogitprojects(.git)$projectroot="/opt/git";至此gitweb就可以使用了,现在可以通过config[core]repositoryformatversion=0filemode=truebare=true[hooks]mailinglist="[email protected],[email protected]"#收件人列表[email protected]#送件人地址emailprefix="[Projectcommit]"#邮件标题前缀showrev="gitshow-C%s;echo"#不只显示有变化的文件,同时也显示改变的内容为了使邮件显示的更清楚,还要修改一下工程目录当中的description文件,在description文件中,默认第一行是项目名称,所以要在第一行填入该项目的名称,这个在邮件中会有显示。$vim/opt/git/project.git/descriptionProject_A

热点内容
易语言静态编译后软件位置 发布:2025-01-23 01:05:38 浏览:465
剪力墙压脚筋大小怎么配置 发布:2025-01-23 00:50:53 浏览:534
腾讯云cos云服务器 发布:2025-01-23 00:46:47 浏览:63
如何给安卓平板刷上MIUI系统 发布:2025-01-23 00:45:51 浏览:73
2开方算法 发布:2025-01-23 00:27:21 浏览:16
如何看自己steam服务器 发布:2025-01-23 00:07:21 浏览:710
armlinux命令 发布:2025-01-23 00:01:08 浏览:137
战地4亚洲服务器为什么被攻击 发布:2025-01-22 23:45:42 浏览:671
javascript反编译 发布:2025-01-22 23:37:57 浏览:432
夏天来了你的巴氏奶存储对吗 发布:2025-01-22 23:37:56 浏览:206