zoukankan      html  css  js  c++  java
  • git 使用

    一、什么是git

      git是一个开源的分布式版本控制系统,可以用来进行项目代码管理。

    二、git的安装

      1、下载git安装文件   https://git-scm.com/download/win

        

      2.安装:鼠标右键点击桌面,如果出现如图所示选项,则说明安装成功。

        

    三、git命令行使用

      

    先安装好git,然后创建一个文件夹来为创建本地仓库作准备。
    1.使用git init命令来让文件夹变为本地仓库,该文件夹中会创建一个隐藏的文件夹.git
    
    2.使用git status命令查看当前仓库的状态
    
    3.使用git config user.name XXX 来设置当前仓库的用户名
       使用git config user.email XXX 来设置当前仓库的邮箱
       使用git config --global user.name XXX 来设置全局(当前系统登录用户)的用户名
       使用git config --global user.email XXX来设置全局邮箱
    ####上面设置的用户名和邮箱和登录的用户名邮箱并没有什么关系
    
    4.创建一个文件,使用git add XXX(文件名) 来将文件保存到暂存区。
    
    5.使用git commit XXX(文件名)来将文件保存到本地仓库,如果是已经提交过的文件修改后提交,可以不变需要先提交git add命令
    
    6.使用git commit -m "这里是注释" XXX(文件名)   可以在提交的时候直接带注释
    
    7.git rm XXX 删除工作区和暂存区的文件
    
    8.git checkout -- XXX 如果修改了工作区的文件,但是没有提交到暂存区,可以用这个命令退回。--很重要不能丢
    
    9.git reset head XXX 如果修改了工作区的文件,并且已经提交到暂存区,那么可以用这个命令恢复缓存区,
            然后用上一个命令恢复工作区
    
    8.使用git log查看提交日志
       使用git log --pretty=oneline 查看简略日志
       使用git reflog 查看最简日志和版本的回滚信息
    
    9.git diff XXX(文件名) 比较工作区与暂存区文件差别
       git diff --cached XXX(文件名) 比较暂存区和最新版本库中的文件差别
       git diff head XXX(文件名)  比较工作区与最新版本库中的文件差异
       git diff commit-id  [<path>...] 比较工作区与指定commit-id 的差异
       git diff --cached [<commit-id>] [<path>...]  比较暂存区和指定commit-id的差别
       git diff [<commit-id>] [<commit-id>] 比较两个commit-id之间的差异
    
    10.git reset --hard head^   向后退一个版本,可以有多个^,一个^代表向后一个版本
       git reset --hard head~1 向后退一个版本, 数字是几就退几个版本
       git reset --hard 580cc88  跳转到版本580cc88
    
    11.git branch XXX 创建一个分支
         git checkout XXX 切换到某个分支
         git checkout -b XXX 创建并且直接切换到某个分支
         git merge XXX 将某个分支合并到自己这个分支
         git branch -d XXX 删除某个分支 
    
    12.git remote add name url   链接远程仓库,name 为 远程仓库的自定义名称默认为origin,url为远程库的地址。
                  这里有两种方式,一种是https,一种是ssh;ssh要生成秘钥;
                使用ssh-keygen -t rsa -C "your_email@youremail.com"命令来生成秘钥
         git remote rename oldname newname 修改远程仓库名称
         git remote rm origin 删除远程仓库
         git remote origin set-url [url]  修改远程仓库地址
         git push -u name matser 将本地库master分支的文件推送到远程库,同时拉去远程库的文件,name为远程库的名称
         git push name master 将本地master分支的文件推送到远程库,name为远程库的名称
         git clone XXX 从远程库克隆一个本地库
         git remote 显示远程仓库的名称
         git remote show name 显示远程仓库的详细信息
         git fetch origin_name master:tmp    将远程仓库的master分支下载到本地的tmp分支
         git pull origin_name master:tmp 将远程仓库的master分支下载到本地的tmp分支,并merge到本地。相当于fetch+merge。

    13.生成ssh秘钥
    ssh-keygen
    
    

    四、github和gitlib 的使用

      

      1、github使用

        创建github账号,然后创建repository。

        通过url来设置本地库所关联的远程库。有两种方式一种是https,一种是ssh。如果使用ssh则需要设置秘钥。

      

       2.gitlib使用

        先安装gitlib

      

    13.ubuntu上在线安装gitlab
         13.1 先安装openssh
        sudo apt-get update
        sudo apt-get install -y curl openssh-server ca-certificates
    
        13.2 安装postfix
        sudo apt-get install -y postfix
    
        13.3获取gitlab的信息
        curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
    
        13.4 安装gitlab
        sudo  apt-get install gitlab-ee
    
        13.5 初始化gitlab
        sudo gitlab-ctl reconfigure
    
         13.6 指定gitlib的网址    
        vim  /etc/gitlab/gitlab.rb
        编辑:external_url '你的网址' ,例如:external_url 'http://192.168.0.209'
        编辑完成后,再sudo gitlab-ctl reconfigure一下,使配置生效

       使用gitlib,刚开始进去直接设置密码,后面也可以注册新的账号。如果启动的时候报502的错误,有可能是因为内存设置太小,或者端口被占用

      

        gitlib和github不同,里面创建的project就是远程库(github中的repository )

        

     同样有两种方式连接到该远程库,一种http,一种是ssh,ssh也是需要设置秘钥,注意要使用对应的ip来替换掉对应的地址。

    五、eclipse 使用git

      1.eclipse自带了git支持,可以在下图所示的地方配置属性。

      

      

      2.可以通过import来将远程库的项目导入到eclipse

             

          

       3.将本地的项目同步到远程库

        

       4.eclipse提交代码

      

     

       5.eclipse 冲突解决,有冲突先将远程代码获取下来,然后修改后再提交

     

  • 相关阅读:
    Saltstack
    搭建中小规模集群之rsync数据同步备份
    Python开发【第七篇】:面向对象二
    批量管理
    inotify
    Python开发【第六篇】:面向对象
    网络文件系统NFS
    Linux基础介绍【第九篇】
    Linux基础介绍【第八篇】
    Linux基础介绍【第七篇】
  • 原文地址:https://www.cnblogs.com/kyleinjava/p/10393813.html
Copyright © 2011-2022 走看看