超详细git使用指南【备份】

获取Git

  • linux

    linux的安装相对简单,只需一条命令即可。
**1.ubuntu**

    $ sudo apt-get install git

**2.centos**

    $ yum install git
 
  • windows

    windows的安装相对复杂一点,不要害怕,也就是多点几次鼠标而已。-_-

    1.下载

    在我们的内部FTP上可以下载到安装文件,文件名:Git-1.9.4-preview20140815.exe. 在浏览器的地址栏输入:ftp://192.168.0.254 ,输入账号密码后,进入software文件夹,如图:

    Alt text

    保存到任意位置,当然你要能找的到.

    2.安装

    安装步骤中有两个地方需要注意,如图所示:

    Alt text

    至此,安装成功。

开始使用

Git的使用并不一定需要远端服务器,但我们是为了协作开发,就必须有一个中心服务器来保存所有的版本库,便于同事及时获取最新版本和提交最新版本。

  • 服务器

    我们的内部Git服务器地址:git@192.168.0.254

    服务器使用ssh认证,所以还需要用你的用户名生成的rsa文件

    1.rsa文件生成

    • windows

      在任意地方按鼠标右键,选择Git Bash Here,弹出模拟unix终端:

      Alt text

      输入命令:

      ssh-keygen -t rsa -C "你的姓名拼音" //如输入 ssh-keygen -t rsa -C "liaocaixin" 回车
      

      如图,一路回车即可:

      Alt text

    • linux linux下只需在终端输入同样命令即可,生成的文件在/home/用户名/.ssh/下。

      服务器使用ssh认证,所以还需要用你的用户名生成的rsa文件

    2.rsa重命名

    这时候,你的id_rsa.pub文件已经生成,路径是你的用户目录下的.ssh文件夹里,你需要把这个id_rsa.pub这个文件重命名为`你的姓名拼音.pub',然后传给我,如:

    $ mv id_rsa.pub liaocaixin.pub //此命令只适合linux下。
    

    3.上传

    好了,当把你的ssh公钥文件上传到服务器后,你就能从服务器仓库中克隆项目或者自建仓库了。

  • 获取已有仓库

    服务器仓库中已经准备了一个testing仓库,现在我们来试试操作这个仓库。

    • windows

      1.克隆

      克隆,顾名思义,就是从远端仓库复制一个一模一样的版本到本地。选择一个地方来存放仓库,如在E盘新建一个文件夹testproject。按鼠标右键,选择Git Bash Here,输入命令:

      $ git clone git@192.168.0.254:testing.git 
      

      结果如下图:

      Alt text

      现在,我们在testproject里面就能看到testing这个文件夹,里面的内容可以自用编辑了。

      2.编辑

      编辑还是和以前一样,该怎么编辑就怎么编辑。现在示例添加一个文件,并增加内容:

      $ cd testing $ touch liaocaixin.txt 
      

      3.提交

      如何让团队中的人获得我增加的文件呢?就需要把修改提交到仓库并更新到服务器中。 在提交之前我们先设置一个默认的用户名,就是刚刚建立ssh公钥所用的用户名:

      $ git config --global user.name "你的姓名拼音"; 
      

      设置完后就可以提交了,我们一步一步来。

      • setp 1

           $ git add .//如果有删除文件操作需要使用 git add --all
        
      • setp 2

           $ git commit -am "本次提交描述" //我们鼓励大家描述尽量简介,抓住重点,这样在版本回退的时候能一目了然
        
      • setp 3

           $ git push origin master //真正提交到服务器仓库。
        

      4.更新

      如果团队中有新的更新和提交,我们需要及时更新到最新状态,下面来介绍如何更新:

      • 方法1

           $ git fetch "分支“ //获取分支的最新版本 
           $ git merge "分支"/master 合并到本地主分支
        
      • 方法2

           $ git pull //建议大家使用这个方法,弄懂分支后再使用第一种方法,当然,第一种方法更为强大。
        

自定义仓库和权限

服务器上并不一定有你的仓库,这时候就需要你自定义仓库并分配权限。自定义仓库的规则如下: paopao/用户名/仓库名.git 如:paopao/liaocaixin/service.git 下面以Git Bash为例介绍如何建立一个远端仓库并分配权限:

1.建立仓库

  • windows 首先,进入你保存仓库的本地文件夹,进入Git Bash模式:

    $ mkdir test //建立项目文件夹 
    $ cd test //进入文件夹 
    $ git init //初始化仓库 
    $ git commit -am "create test" --allow-empty //提交一个空仓库 
    $ git remote add origin git@server:paopao/liaocaixin_xp/test.git//增加一个远程仓库 注意远程仓库命名规则. 
    $ git push origin master //提交到服务器,
    

    注意这一步才是真正提交到服务器。 完整的操作截图如下:

    Alt text

2.权限管理

仓库建立好之后,需要进行相应的权限管理,该仓库如果是多人协作,需要分配读写权限。读权限意味着该用户可以克隆该项目,可以查看仓库中的文件,但不能提交修改到服务器。写权限可以提交修改到服务器。系统默认仓库创建者拥有完整的权限。

  • 权限设置命令

    通过命令ssh git@192.168.0.254 perms -h 可以获取到perms的帮助信息,如图:

    Alt text

    下面逐条讲解命令的详细说明: 获取仓库的权限列表

     $ ssh git@host perms -l <repo> 
    // git@host 为远程服务器的地址 host可为ip/域名/别名 
    // perms 命令 // -l 列表 // <repo> 需要获取权限列表的仓库 如 paopao/liaocaixin_xp/test 
    //一条完整的命令如下 
    $ ssh git@192.168.0.254 perms -l paopao/liaocaixin_xp/test 
    
  • 增加/删除权限命令

    $ ssh git@host perms <repo> +/- <rolename> <username> 
    // +/- + 就是增加 - 就是减少 
    // rolename 规则名称 WRITERS:写||READERS:读 
    // username 需要增加/删除 权限的用户名 
    // 一条完整的增加权限 
    $ ssh git@192.168.0.254 perms paopao/liaocaixin_xp/test.git + READERS liaocaixin 
    //注意 liaocaixin 和 liaocaixin_xp 是两个不同的用户,这样就给liaocaixin这个用户增加了读权限,相应的要删除权限,只需把 + 替换为 - 即可。
    
  • 增加读权限

    上面介绍完了命令规则,下面配合截图来实际操作一次。

    • 查看权限列表

         $ ssh git@192.168.0.254 perms -l paopao/liaocaixin_xp/test
      

      命令运行截图如下:

      Alt text

      因为没有增加任何权限,所以列表为空。也可以查看自己在整个服务器中所拥有的全部权限,在命令行输入:

      $ ssh git@192.168.0.254
      
    • 增加一条权限

      现在开始给liaocaixin增加一条仓库test的读权限:

      $ ssh git@192.168.0.254 perms paopao/liaocaixin_xp/test + READERS liaocaixin 
      

      命令运行结果如下:

      Alt text

      对应的删除liaocaixin的读权限,只需把命令中的+替换为即可:

      $ ssh git@192.168.0.254 perms paopao/liaocaixin_xp/test - READERS liaocaixin 
      

      增加写权限:

      $ ssh git@192.168.0.254 perms paopao/liaocaixin_xp/test + WRITERS liaocaixin 
      

      删除写权限:

      $ ssh git@192.168.0.254 perms paopao/liaocaixin_xp/test - WRITERS liaocaixin
      

结束

好了,Git的基本操作介绍完毕,下一版本详细介绍分支作用及分支的操作,另提供个小tip:

  • 给服务器设置别名

    给服务器设置别名可以避免在输入命令时候再输入不容易记住的ip,如给192.168.0.254 设置别名为 server 下次就只需要在输入ip的地方输入 server 即可。下面就是设置方法:

    • windows

    编辑C:\WINDOWS\system32\drivers\etc目录下的hosts文件 在最后一行添加 192.168.0.254 server即可

    • linux

    编辑/etc/hosts 文件 在最后一行添加 192.168.0.254 server 即可

各位,编辑完文件后,不要忘了保存哦。

标签: git, perms, remote

添加新评论