这几天闲来无事在我的垃圾vps上搭建一个私服git这里遇到的毛病真的多 一个小毛病都整了半天 我的是debian系统
首先安装git我这里是debian当然是通过apt
apt isntall git
接下来就是创建git用户了并设置密码
useradd -m git
passwd git
这里还有一个问题就是新用户创建好了切换过去发现方向键会变成^[[A这是以为默认的shell用的是sh解决方法如下
chsh
在Login Shell [*]后输入
/bin/bash
这里注意我并没有设置密钥登录也没关闭ssh登录有这方面需要可以自己去看看
这里创建用户没啥毛病 但是创建错了删除就很难受了有的显示我遇见过
userdel: command not found
userdel在/usr/sbin/userdel
出现这个问题应该是环境变量没加这里有两个解决方法直接绝对目录执行或者去改环境变量
接下来就是创建目录了并使用git初始化了
su git
mkdir 你想要的目录名得加上.git
cd 你的目录.git
git init
git config --bool core.bare true
现在搭建完成了先来创建一个文件试试看
touch README.md
git status -sb看看当前文件状态
it@localhost:~/swap.git$ git status -sb
## No commits yet on master
?? README.md
git@localhost:~/swap.git$
?? 表示 git 不知道如何对待这个新的文件
此时要用 git add 将文件添加到「暂存区」
git add README.md(若文件较多,一个个加麻烦,可直接用git add. 一次性将所有变动加到暂存区)
然后可以再 git status -sb 观察其状态
git@localhost:~/swap.git$ git status -sb
## No commits yet on master
A README.md
?? 变成了 A 即告诉 git 这些文件我要加到仓库里
git commit -m "信息" 将文件正式提交到本地仓库(.git)
同样你可以一个个提交文件
git commit README.md -m '添加README.md'
或者一次提交所有文件
git commit . -m "添加了几个文件"
结果就会显示
git@localhost:~/swap.git$ git commit . -m "添加了几个文件"
[master (root-commit) 99a2347] 添加了几个文件
1 file changed, 1 insertion(+)
create mode 100644 README.md
再运行 git status -sb
git@localhost:~/swap.git$ git status -sb
## master
出现## master 说明你已经将文件上传成功了
这时你可以用 git log 看历史变动
git@localhost:~/swap.git$ git log
commit 99a23479bd7740f2d098e0d7db2bda37c8f3bbd0 (HEAD -> master)
Author: lingling <lingling@qq.com>
Date: Mon Dec 14 06:06:26 2020 -0800
添加了几个文件
至此,一次在本地使用 git 的过程就完成了
接下来就是私服和客户端配合使用了
现在就创建完成了现在用ls查看一下会发现什么都没有使用ls-la会发现有个.git目录里面装着git的历史纪录或者别的千万别删除
现在就搭建好了私服接下来就是客户端提交了
客户端首先也安装git这里就省略了
安装好了记得首先设置用户名和邮箱
git config --global user.name "用户名"
git config --global user.email "邮箱"
然后就是克隆库了
这个是用法
git clone username@host:/path/to/repository
实例
git clone git@ip:/home/git/swap.git
运行的返回值
[root@VM-0-16-centos ~]# git clone git@IP:/home/git/swap.git
Cloning into 'swap'...
git@IP's password: //这里以为没有设置密钥所以需要输入密码
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
接下来我们去看看克隆下来了什么
[root@VM-0-16-centos ~]# cd swap/
[root@VM-0-16-centos swap]# ls
README.md
[root@VM-0-16-centos swap]# ls -la
total 16
drwxr-xr-x 3 root root 4096 Dec 14 22:13 .
dr-xr-x---. 11 root root 4096 Dec 14 22:12 ..
drwxr-xr-x 8 root root 4096 Dec 14 22:13 .git
-rw-r--r-- 1 root root 14 Dec 14 22:13 README.md
接下来我们创建几个文件并提交
[root@VM-0-16-centos swap]# echo "<p>你好</p>" > index.html
[root@VM-0-16-centos swap]# ls
index.html README.md
[root@VM-0-16-centos swap]# cat index.html
<p>你好</p>
root@VM-0-16-centos swap]# git commit -m "提交了一个index.html"
[master 943ad74] 提交了一个index.html
1 file changed, 1 insertion(+)
create mode 100644 index.html
[root@VM-0-16-centos swap]# git push origin master //提交到远程服务器
git@cloud.shagain.club's password:
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 308 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@cloud.shagain.club:/home/git/swap.git
99a2347..943ad74 master -> master
这里得git提交流程
git add <filename>或者git add * 添加到暂存区 ----->git commit -m "代码提交信息" 这里提交到了本地库 ----->git push origin master 提交到远程库
Comments | NOTHING