git服务器

Posted 转角90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git服务器相关的知识,希望对你有一定的参考价值。

git服务器

安装

yum install git -y

创建git用户

adduser git # 创建用户
passwd git  # 密码git

# 切换到git用户下
su - git 

创建仓库

cd /home/git
mkdir repos
cd repos
mkdir dev-php.git  # 创建仓库目录
cd dev-php.git
git init --bare # 初始化dev-php.git作为仓库, 不加bare会在dev-php.git目录下再创建一个git仓库

git客户端

安装

yum install git -y

拉取远程仓库

cd /usr/local/src
git clone git@192.168.75.128:/home/git/dev-php.git

# 设置用户和邮箱
git config --global user.name \'用户名\' 
git config --global user.email \'邮箱\'

# 进行git操作

SSH的无密码登录

在客户端生成秘钥

ssh-keygen -t ed25519 -C \'你的邮箱\' -f \'文件名\'

在服务器端,将客户端中的公钥添加到authorized_keys文件里

su - git
cd ~/.ssh
ls
vi authorized_keys
# 将客户端公钥复制到authorized_keys中

# 修改权限
chmod 600 authorized_keys

cd ../
chmod 700 .ssh

# 权限 rwx 二进制
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r-- 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 --x 001
0 --- 000

Git建立本地服务器和git命令的使用

建立本地Git 服务器

[[email protected] ~]# useradd git ------------------创建一个git用户
[[email protected] ~]# mkdir /git‐root/
[[email protected] ~]# cd /git‐root/
[[email protected] git‐root]# git init ‐‐bare shell.git --------------初始化仓库
[[email protected] git‐root]# chown ‐R git.git shell.git ----------把文件的属主和属组改成git
[[email protected] git‐root]# su ‐ git --------------切换成git用户

生成密钥

[[email protected] ~]$ ssh‐keygen ‐t rsa ----------------生成密钥
[[email protected] ~]$ cd .ssh/
[[email protected] .ssh]$ cp id_rsa.pub authorized_keys-----------新建授权公钥串
[[email protected] .ssh]$ exit

克隆仓库

[[email protected] ~]# cd /opt/
[[email protected] opt]# git clone [email protected]:/git‐root/shell.git-----------克隆本地仓库
Cloning into ‘shell‘...

新建一个测试文件,进行推送

[[email protected] opt]# cd shell/
[[email protected] shell]# vim test1.sh
[[email protected] shell]# git add test1.sh
[[email protected] shell]# git commit ‐m ‘first commit‘
[[email protected] shell]# git push origin master

git常用的命令

git

git init #------------------初始化仓库
git clone https://github.com/kennethreitz/requests.gitCloning into ‘requests‘... #-----克隆建立远程库
git clone [email protected]:/git-root/liudelong.git #-------克隆建立本地库

git add * #------------提交

git commit -m "describe" #---------------对提交任务进行描述

git push origin master #----------------上传

查看状态

git status #------------------查看git 的状态

git status -s #-------------------查看git 的简要信息
显示信息:
A .gitignore
MM test2.py #------------------第一个M表示staging有修改,第二个M表示working directory有修改

git diff #检查数据是否一致

git diff #-------------默认git diff 只检查第二个标志位(即检查working directory与staging的数据是否一致

git diff HEAD #-------------------指针,检查working directory与history是否一致,HEAD指针就指向最后一次提交的内容

git diff --stat #-----------------输出简要信息

git diff --staged #-----------------表示检查stage与history中的数据是否一致

下载

git reset #----------------下载历史history中的最后一个版本致stage中

git checkout #--------------------把历史区的文件恢复到工作区-下载stage中的数据到working directory

git checkout HEAD #------------------从history中直接下载历史版本到working directory

git commit -am ‘third commit‘ #-----------------直接由working directory提交到history

删除数据:

git rm file #--------------------删除文件

git rm --cached test2.py #---------------仅删除staging中的文件,此命令主要用来修改文件名

stash暂存

git stash #-------------暂存当前正在进行的工作

git stash list #----------------查看之前的暂存区

git stash pop #----------------取出上次的暂存

branch分支

git branch #----------------查看分支 (*表示当前的 branch)

git branch newidea #----------------创建分支

git checkout newidea #---------------切换新的分支

cat .git/HEAD #----------------查看当前HEAD指向newidea分支

ls .git/refs/heads/ #----------查看现有分支的存储情况

cat .git/refs/heads/* #---------------查看两个分支都指向同一个commit history

git branch -d newidea #-----------------删除指定分支

git checkout -b newcode #------------------参数-b 作用:检查如果没有branch则新建立

git merge newcode #--------------合并分支

git merge bugfix #--------------合并分支Auto-merging test1.py

以上是关于git服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何通过git把本地的代码上传到服务器

Git学习Git+GitHub+GitEE+IDEA集成+Git服务器搭建

git服务器

怎么clone自己搭建的git服务器

Git建立本地服务器和git命令的使用

Git版本控制之ubuntu搭建Git服务器