济南网站建设多少钱,班级优化大师简介,微信分销是什么,页面设计重要性基于Ubuntu环境Git服务器搭建及使用 Chapter1 搭建本地git服务器及详细操作步骤1.搭建本地git服务器1.1 环境1.2 服务端配置1.3 创建git专属用户1.4 创建git仓库1.5 配置免密登录基础 2.客户端拉取推送代码2.1客户端创建ssh公钥 2.2 免密配置3.仓库使用#xff08;拉取及推送代… 基于Ubuntu环境Git服务器搭建及使用 Chapter1 搭建本地git服务器及详细操作步骤1.搭建本地git服务器1.1 环境1.2 服务端配置1.3 创建git专属用户1.4 创建git仓库1.5 配置免密登录基础 2.客户端拉取推送代码2.1客户端创建ssh公钥 2.2 免密配置3.仓库使用拉取及推送代码分支3.1拉取仓库分支3.2推送代码分支 4.常用git指令 Chapter1 搭建本地git服务器及详细操作步骤
原文链接https://blog.csdn.net/weixin_45805339/article/details/133318082
1.搭建本地git服务器
1.1 环境
服务器Ubuntu18.04
客户端windows10_x64、Ubuntu20.04
无论是服务端还是客户端都需要先安装git
Ubuntu安装方法
sudo apt update
sudo apt install git1.2 服务端配置
本地git仓库依赖OpenSSH进行数据传输先检查时候已经安装OpenSSH
kylandkyland-u-wuhao:~$ dpkg --list | grep ssh
ii openssh-client 1:7.6p1-4ubuntu0.7 amd64 secure shell (SSH) client, for secure access to remote machines
ii openssh-server 1:7.6p1-4ubuntu0.7 amd64 secure shell (SSH) server, for secure access from remote machines如上已经安装了OpenSSH如果没有安装需要执行一下命令
sudo apt install -y openssh-server openssh-client查看ssh状态
sudo systemctl status ssh
#如果没有启动手动启动ssh服务
sudo systemctl enable ssh1.3 创建git专属用户
在服务器终端输入如下命令输入两次密码后比如密码也是git一路回车就创建好了
kylandkyland-u-wuhao:~$ sudo adduser git
[sudo] kyland 的密码
正在添加用户git...
正在添加新组git (1001)...
正在添加新用户git (1001) 到组git...
创建主目录/home/git...
正在从/etc/skel复制文件...
输入新的 UNIX 密码
重新输入新的 UNIX 密码
passwd已成功更新密码
正在改变 git 的用户信息
请输入新值或直接敲回车键以使用默认值全名 []: 房间号码 []: 工作电话 []: 家庭电话 []: 其它 []:
这些信息是否正确 [Y/n] 1.4 创建git仓库
cd /home/git #进入git用户家目录
mkdir private_code_repository #创建本地私有git仓库目录
gitkyland-u-wuhao:~$ git init --bare RosProject.git #创建本地私有git仓库RosProject.git
已初始化空的 Git 仓库于 /home/git/RosProject.git/1.5 配置免密登录基础
mkdir -p /home/git/.ssh/ #在git主目录下先创建一个.ssh目录以便后面使用2.客户端拉取推送代码
2.1客户端创建ssh公钥
ssh-keygen -t rsa #终端输入一路回车
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/Administrator/.ssh/id_rsa
Your public key has been saved in /home/Administrator/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:DyX41KiKahfSewidYUcINWBEDXfMuLRnuICwNMm16fQ AdministratorMS-TOVQOVTJPKXR
The keys randomart image is:
---[RSA 3072]----
|BO. |
|o. . o |
|.o . o |
|o.o*. o |
| .BE. S |
| o B . o |
| . |
| o . |
|o . . |
----[SHA256]-----
#在家目录.ssh下生成id_rsa私钥、id_rsa.pub公钥两个密钥原文链接https://blog.csdn.net/weixin_56546908/article/details/124600622 设置用户名和邮箱 使用命令git config --global user.name 名称设置用户名 使用命令git config --global user.email “邮箱设置邮箱 查看设置的用户名和邮箱 使用命令git config --global --list 生成密钥信息 输入命令ssh-keygen -t rsa -Cyouremail” 之后一直回车即可 youremail:你自己的邮箱账号 。 补充-t:指定要创建的密钥的类型。rsa:一种加密算法。-C:添加注释 红色框框内是生成的公钥和私钥的位置
查看创建好的公钥 可使用gedit或其他工具查看生成的公钥 以下用gedit: gedit /home/ubuntutest/.ssh/id_rsa.pub 此公钥将用gitee中SSH公钥的配置 打开gitee—设置—SSH公钥
sudo chown git.git rsa.pub gitubuntu:~$ sudo cat .ssh/authorized_keys rsa.pub gitubuntu:~$ vim .ssh/authorized_keysAdministratorPC-xxx MINGW64 /d/123/testgit (master)
$ git clone git192.168.1.101:/home/git/mytest/mytest.git
Cloning into mytest...
git192.168.1.101s password:
warning: You appear to have cloned an empty repository. 2.2 免密配置
将客户端公钥id_rsa.pub内容复制到服务端.ssh/下新建文件authorized_keys里这样我们在拉取推送代码时就不需要输入密码了。
3.仓库使用拉取及推送代码分支
3.1拉取仓库分支
第一次我们需要拉取在服务端创建的仓库
git clone git192.168.0.83:/home/git/private_code_repository/RosProject.git
cd RosProject #进入工程
AdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ ls -lah #查看工程内容
total 4.0K
drwxr-xr-x 1 Administrator 197121 0 Sep 26 15:48 ./
drwxr-xr-x 1 Administrator 197121 0 Sep 26 15:45 ../
drwxr-xr-x 1 Administrator 197121 0 Sep 26 17:17 .git/
-rw-r--r-- 1 Administrator 197121 0 Sep 26 15:48 .gitignore3.2推送代码分支
每次我们更改一个功能的时候都需要创建一个分支如
$ git checkout -b ros2_230926 #创建本地分支
Switched to a new branch ros2_230926更改或者添加代码文件之后要提交代码分支到远程仓库
AdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ touch .gitignore #添加.gitignore文件AdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git status #查看当前分支状态
On branch ros2_230926No commits yetUntracked files:(use git add file... to include in what will be committed).gitignorenothing added to commit but untracked files present (use git add to track)AdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git add . #将文件添加到git仓库缓存区暂存区AdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git status
On branch ros2_230926No commits yetChanges to be committed:(use git rm --cached file... to unstage)new file: .gitignoreAdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git commit -m添加.gitignore #将某些已被跟踪的文件提交到版本库(包含工作区和版本库)
#因为我们没设置git自身配置文件所以需要进行一下操作
Author identity unknown*** Please tell me who you are.Rungit config --global user.email youexample.comgit config --global user.name Your Nameto set your accounts default identity.
Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got AdministratorMS-TOVQOVTJPKXR.(
none))AdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git config --global user.email 15840235191163.comAdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git config --global user.name wuhaoAdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git commit -m添加.gitignore #提交到本地仓库成功
[ros2_230926 (root-commit) 0748e6c] 添加.gitignore1 file changed, 0 insertions(), 0 deletions(-)create mode 100644 .gitignore
AdministratorMS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git push -u origin ros2_230926 #在远程仓库创建该分支并且同步本地分支及远程分支
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 221 bytes | 221.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To 192.168.0.83:/home/git/private_code_repository/RosProject.git* [new branch] ros2_230926 - ros2_230926
branch ros2_230926 set up to track origin/ros2_230926.以上就完成了代码分支的推送
4.常用git指令
git checkout -b [分支名称] #创建本地分支
git status #查看本地分支状态
git add . #将文件添加到git仓库缓存区暂存区
git commit -m[说明] #将某些已被跟踪的文件提交到版本库(包含工作区和版本库)
git diff [修改文件路径] #查看修改文件详细内容
git reset [分支号] #本地仓库切换到该分支上修改的代码保留
git reset --hard [分支号] #本地仓库切换到该分支上修改的代码不保留
git rebase [分支名] #合并该分支到当前分支
git log #查看本地操作信息