前言:
先说下我的git服务器环境,git服务端的搭建我用的是阿里的ubantu云服务器,毕竟云服务器上可以在任何联网的电脑上访问嘛,方便。局域网也可以,svn和git这两种最常用的代码管理系统,在企业中基本用的都是公司的局域网相互共享,更安全。
客户端用什么系统都可以,能装git就行了,我用的是国产(深度)deepin系统,也就是linux系统。接下来开始从git服务端开始一步步搭建。
一、搭建git服务器
第一步:安装git
先确保是否安装了git,在命令行下输入命令
git --version
我的已经安装了,没安装的一行命令就可以安装了,很简单的
yum -y install git 或者 sudo apt-get install git 安装就行了
安装好了之后,就可以开始搭建git服务器了,用来共享管理文件或者代码
第二步:开始搭建
1.新建一个git账户,为了安全,不添加也可以,可以跳过这步
adduser git
切换到git账户:
su git
2.在指定目录新建一个目录,如gitTest,我在git账户目录下新建一个gitTest文件夹,然后进入文件中,然后在gitTest文件夹中在建立一个gitServer的文件夹,如下图所示
3.在进入gitServer的文件夹中,建立.git的文件夹,这是github对仓库名称的一个命名规则,所以我们也遵守github的命名规则。我这里新建一个了一个myFile.git,用来当做我想要上传的文件仓库,这样我就能在有git能联网的地方随时随地的拿取啦
4.进入myFile.git仓库中,初始化git仓库,命令
git init
5.然后配置一下git仓库的接收配置,否则我们在git客户端上传文件到服务端会报错
配置方法有两种:
方法一:在myFile.git文件夹下命令行如下命令
git config receive.denyCurrentBranch ignore
方法二:直接修改.git/config添加如下代码:
[receive]
denyCurrentBranch = ignore
然后在配置用户的信息,自定义的邮箱和用户名
[user]
email = [email protected]
user = yidiandian
命令如下:
vim .git/config
配置好后如下图所示
服务端到此已经配置好了
然后pwd获取一下.git仓库的位置,等会要用到
一、搭建git客户端
同样确保,客户端的电脑安装了git
- 我在我的脑上新建一个git文件夹,进入文件夹里面,然后用git init初始化命令初始化git仓库
2.然后配置要远程的git服务器的源,也就是我们的git服务器,等会我们就从这个服务器拿东西,推送文件,删除文件,更新文件等
git remote add origin [email protected]
解释下这 git@47.98.173.9
这个就是我的git账户,如果你的git服务器在root账户上,那就是root@47.98.173.9,格式为 账户@账户的地址
然后我们获取git服务器上的文件 ,命令,命令格式:
git clone 账户@账户地址:要获取的.git文件位置,上面说的.git仓库的位置,如下所示,很好理解吧
git clone [email protected]:/home/git/gitTest/gitServer/myFile.git
然后输入git账户的密码,然后提示,我们复制了一个空仓库,因为我们的仓库没有东西,确实是空的,所以不用理会
然后查看当前目录,有了一个myFile的文件,就是我们获取的git服务器上的myFile文件
然后我们进入myFile文件夹中,编辑一个hello.c的文件
随便输入点内容,保存退出
然后使用命令git status来查看仓库当前文件提交状态
可以看到改动为:新建了两个文件,但没有提交
然后使用命令 git add 文件名 来建立跟踪,如果使用
git add -A
或
git add .
可以提交当前仓库的所有改动,就是跟踪所有的改动文件
这里我就用git add . 来跟踪所有改动文件
然后再次使用git status命令查看,我们的改动文件已经跟踪了,而且提示两个改动文件为新文件
然后使用命令
git commit -m "新建了两个新文件"
从Git的暂存区提交版本到仓库,参数
-m
后为当次提交的备注信息
然后将本地的Git仓库信息推送上传到服务器分支上
git push origin master
命令格式: git push <上传的git服务器仓库位置> <要上传的本地分支名>
这个origin就是前面前面加的仓库源,以后在这个仓库里,就不用在写远程主机名了,效果如下
git push [email protected]:/home/git/gitTest/gitServer/myFile.git master
然后输入git账户的密码即可
到此文件已经上传到git服务器了,我们试着一下同步,用另一台有装git的电脑,或者本机的另一个位置,拿去最新文件,在试一下同步,并改变一下里面的文件
我用的是虚拟机里面的windows10系统,里面安装的git,进行以下步骤,直接获取服务器的最新文件
这里已经获取到了
接下来修改一下里面的hello.c文件,然后用git status,查看文件状态,检测到hello.c已经被修改了
再用命令git diff 文件名或git diff,查看改动的地方有哪里
然后我们git add hello.c, git commit hello.c -m "修改了hello.c",提交到本机git仓库
这里提示我们要写下邮箱,有两种方法,第一种,提示里已经明确了
git config --global user.email "你的邮箱"
git config --global user.name "你的用户名"
在命令行输入即可,他就会写入.git的config文件中
在这里我用第二种,直接修改.git的config文件,如下
然后在commit提交,push推送到git服务器上,因为是git服务器上获取的,会在config文件中保存有地址,可以不用写后面的参数,在上面.git/config文件中也能看到
然后用git log命令查看git推送日志
然后在我之前的电脑上进行 git pull 拉取最新文件,就是更新下,如下,看到了更新文件名,文件内容是添加了3行
如果git pull上传文件后,后面发现上传错了,想要删除它,怎么办呢?
直接用命令删除,然后commit提交到本地git仓库,然后,push推送回服务器删除
git rm 文件名
操作如下所示
好了,到此git的客户端操作就完成了,还有很多命令不了解的,可以去百度一下,或者去这里看一下。Git 仓库基础操作 - Gitee.com
版权归原作者 只是个~小不点 所有, 如有侵权,请联系我们删除。