zoukankan      html  css  js  c++  java
  • Git服务器搭建,以及Git基本操作

    这两天搭建Git服务器,折腾了好久,把自己纠结的几个点记录分享下。

    『Git Server搭建』

    1.Git安装,安装之前先查看下是否已经安装好了:   

    git version

    如果没有安装:

    yum install git

    2.选择一个文件夹,初始化Git仓库:

    sudo git init --bare test.git

    此处的--bare的意思就是建立一个裸仓库,不能在此仓库里进行add和commit操作。服务器里面的初始代码,也是需要client端推送(push)进来的,不可以自己去commit。这个问题我真心是纠结了好久啊,我一开始切换到test.git这个目录里面,再git init,然后后面的操作都不对了。其实这样初始化就OK了。

    3.创建一个新用户,用来运行git服务(此处随便啥用户都可以,只要找好该用户处于的组就可以了,用户名在后面SSH登陆的时候要用到)

    1 sudo adduser zita    #新增用户
    2 passwd zita          #修改用户密码
    3 groups zita          #查看该用户所处的组 

    此时test.git是属于root:root:

    我们将其修改为zita:zita:

    sudo chown -R zita:zita test.git

    此时git server就搭建好了,就是辣么简单,没有其他操作了。。。

    『Git Client』

    此处的client建立在windows上,别问我为什么要用windows,因为这个上面的要求。

    在windows上装好Git Gui后,就可以开始操作了。

    1.新建一个文件夹,作为Git仓库,在此文件夹中初始化git。

    初始化好了之后,会自动生成一个.git的隐藏目录,务必不要手动修改此文件夹。

    2.基本配置:

    再右击打开”Git Gui“,进行基本配置:

    1)配置用户名和邮箱号,这一步只是为了标识出不同的用户。

    填写完了保存。

    2)生成SSH KEY,供远程登陆使用。

     

    然后,登录到git服务器上,将SSH KEY加入到/home/git/.ssh/authorized_keys文件中。如果没有此文件,请按照这个路径新建文件。

    3.基本操作:

    1)添加并提交文件,我在版本库里添加了一个文件:

    换用”Git Bash“:

    git status  #查看当前版本库的变动

    此时可以看到”1.txt“发生了变动

    git add 1.txt    #将1.txt添加到缓冲区
    git commit -m "first commit"    #添加备注并且提交

     

    再次查看版本库状态,无更新了:

    2)版本回退:

    我先多修改几次文件,然后多提交几次:

    git log    #显示操作记录

    此时我想回退到first commit:

    git reset --hard 5282c6    #此处的数字为版本号的sha1前几位

    3)重回未来:

    此时我想再返回到second commit,该怎么办?

    此时的git log只剩一条记录了:

    我们可以使用git reflog,找到版本号:

    git reflog

    git reset --hard 6903158

    4.远程操作:

    1)clone远程库:

    git clone zita@192.168.1.140:/home/githome/test.git

    此时的版本库里什么都没有,因此是空的。

    2)push代码上去:

    git push <远程主机名> <本地分支名>

    查看远程主机名:

    git remote -v

    如果没有,则可以添加。此处的”origin“为自定义的远程服务器的名字,zita为刚才添加的用户名,192.168.1.140为git服务器的IP地址,/home/githome/test.git为刚才设置的git仓库文件夹:

    git add origin zita@192.168.1.140:/home/githome/test.git

    查看本地分支,默认为master:

    git branch

     push 代码到远程服务器:

    git push origin master

    push成功了,此时在服务器上是看不到我push上去的代码的,但是别人在他的client端是可以看到的。

    3)此时我新建另外一个文件夹,初始化一个新的仓库,并且添加远程服务器:

    git fetch origin   #获取远程服务器的变动

    此时文件还在一个缓冲区里,我们需要将其merge到自己的分支上来:

    首先查看远程分支名字:

    git branch -a

    我将远程的origin/master分支合并到我的master分支上:

    git merge origin/master

    本地就获取到了文件:

     『小结』

    Git还有好多操作和一些原理性的东西,等用到了再去学习吧。

    参考资料:

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    http://www.csdn.net/article/2014-06-17/2820265-git

  • 相关阅读:
    HTML和CSS
    springcloud中配置多数据源
    洛谷 P3800 Power收集(单调队列优化dp)
    洛谷 P2569 [SCOI2010]股票交易(单调队列优化dp)
    洛谷 P3957 [NOIP2017 普及组] 跳房子(二分,单调队列优化dp)
    洛谷 P1419 寻找段落(01分数规划,实数二分,单调队列)
    Prometheus(普罗米修斯)和grafana监控的安装和使用
    AMC如何管理NPL
    linux 正则表达式与字符处理
    react-router-dom switch & match
  • 原文地址:https://www.cnblogs.com/zitayang/p/5750348.html
Copyright © 2011-2022 走看看