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

    git 的使用

       代码协同管理工具

       1. 防止代码丢失,做代码备份
       2. 做代码的版本管理,创建多个版本或者节点,在多版本之间切换
       3. 可以将代码在多人之间简单的传输共享
       4. 可以方便多人协同开发,开辟各自分支和分支管理

       什么是git

       git是一个开源的分布式版本控制系统,可以用于高效的管理大小项   目。

       分布式 : 每个节点关系平等,都保存完整代码,节点之间相互推             送或者下载代码。工作方式多样

       集中式 : 有明确的中央服务器统一管理代码,每个节点将代码上             传中央服务器或者从中央服务器下载。逻辑简单

       git特点
         * git可以管理各种文件,特别是代码项目,多在*nix系统中使用
         * 是开源的系统,是唯一可以操作github的管理工具
         * git是分布式管理,不同于集中式,这也是和svn最大的差别
         * git 可以脱网操作,传输速度更快
         * git的安全性很强,有全球唯一的commit版本号
         * git的分支管理很强大,可以方便多人协同工作
     
    git安装

        sudo apt-get install git


    git 基本配置

        git  config

        配置级别
            1. 系统中所有的用户均使用的配置
               命令 : git  config  --system
               配置文件 : /etc/gitconfig

        e.g. 配置git用户
      sudo git config --system user.name  Tedu

            2. 当前用户的所有项目均使用的配置
               命令: git config  --global
               配置文件 : ~/.gitconfig
     
               e.g. 配置用户邮箱
                    git config --global  user.email tarena@tedu.cn

            3. 只在当前项目中使用的配置
               命令: git  config  (命令要在git项目文件夹中执行)
               配置文件: project/.git/config

               e.g.  配置编译器
                     git config core.editor vscode
               
            4. 查看当前配置
               git  config  --list
         
    git 基本概念

    工作区 : 通过自己的主机操作的git目录

    暂存区 : 用来记录你工作的行为,作为暂时保存

    本地仓库 : 本地用来备份同步工作区内容的区域

    远程仓库 : 其他主机的git仓库


    git的基本操作命令

       初始化仓库
           git  init
          
           * 初始化仓库后产生.git目录为git的管理目录,初始化仓库的         目录中的内容即可使用git管理


       查看工作分支状态
           git status
          
           * 默认工作分支为master,可以通过创建新的分支切换


       文件提交到暂存区
           git  add  [file]

           * 可以一次提交多个内容,中间用空格隔开
           * 提交的内容可以使文件也可以是目录
           * 如果想将当前目录下所有内容都提交也可以使用 * 表示
      
           删除暂存区的记录
           git  rm  --cached  [file]      (如果是目录加 -r)


        将暂存区记录的修改内容同步到本地仓库
            git  commit   -m  "some message"

            * -m 为添加的附加信息
            * 当工作区和本地仓库内容一致是git status提示工作区干净


        查看提交日志
            git  log
            git  log   --pretty=oneline


    工作区操作

        查看工作区文件和本地仓库的差异
            git  diff  [file]

        放弃工作区文件修改
            git  checkout  --  [file]

        恢复本地仓库文件到工作区
            git  checkout  [file]


    文件的移动和删除
      
        删除工作区文件并提交到暂存记录
            git  rm  [file]

        移动工作区文件并提交到暂存记录
            git  mv  file  dir
     
        * rm  mv 的用法和shell命令rm mv相同,操作后直接commit同步      到本地仓库


    版本控制命令
      
        回到之前版本
            git  reset  --hard  HEAD^
     
            * HEAD 后几个^表示回到之前的几个版本

        通过commit_id回到指定的版本
            git  reset  --hard  commit_id


        查看操作日志
            git reflog

            * 获取到操作记录后可以根据commit_id去往较新的版本


    标签管理

        什么是标签 : 即在当前工作位置添加快照,保存项目的版本信息                  ,一般用于项目版本的迭代

        创建标签
            git  tag  v1.0

            * 默认会在最新的commit_id处打标签


            查看标签
               git  tag  查看所有标签
               git  show  V2.0  查看某个标签的具体信息

            在某个指定commig_id处打标签
               git  tag  v0.9  [commit_id]

            回到某个标签的版本
               git reset --hard  v0.9

            删除标签
               git  tag  -d  v2.0


    保存临时工作区

       创建临时工作区
           git stash

           * 将工作区修改内容暂时封存,恢复到最近一个“干净”状态

       查看保存的工作区
           git stash  list

       应用某个工作区
           git stash apply stash@{1}
        
           * 新的工作区总是为stash@{0},老的工作区会向下排列

           应用上一个工作区,并删除之
           git  stash  pop


       删除工作区
           git  stash drop  stash@{0}  删除某一个
           git  stash clear   删除所有

    前情回顾
    1. match 对象 : match  finditer 等函数生成
           group()
    2. flags  re.I   re.S  re.M   re.X

    3. git
         git的特点
         git的安装
         git的配置  git config
         git基本命令 : git init
                        git add
                        git commit
                        git status
                        git log
                        git mv
                        git rm
                        git diff
                        git checkout

         git版本控制 : git  reset  --hard  HEAD^
                                            commit_id
                        git reflog

         git 标签管理 : git  tag   v1.0  -m 'xxxxx'
                         git  show  v1.0
                         git  reset  --hard  v1.0
                         git tag -d v1.0

         git 的临时工作区: git  stash
                            git  stash list
                            git  stash apply  stash@{1}
                            git  stash drop  stash@{0}
                                       clear
    *********************************************************

    分支管理

        什么是分支?
            分支即每个人在获取原有分支(master)代码的基础上,作为        自己的工作环境,单独开发,不会影响其他分支操作。开发完        成后再同意合并到主线分支。

        好处 : 安全,不影响其他人工作,自己控制进度
        问题 : 冲突,降低耦合度可以有效地减少冲突

    查看当前分支
        git  branch

        前面带 * 的表示当前正在工作的分支

    创建分支
        git  branch  [branch_name]

        * 创建分支之前尽量保证原分支是干净的,避免合并时产生冲突

    切换工作分支
        git  checkout  [branch] 

    创建并切换到新的分支
        git checkout -b   [branch_name]

    合并分支
        git  merge  [branch]

    删除分支
        git branch -d  [branch]

        强制删除未合并分支
        git  branch  -D  [branch]


    远程仓库
        在远程主机上的仓库。git时分布式的,每一台主机上的git结构基    本相同,只是把其他主机上的git仓库叫做远程仓库

        创建共享仓库 :
        1. 创建目录
           mkdir  gitrepo
      
        2. 设置仓库文件夹的属主
           chown  tarena:tarena gitrepo

        3. 创建共享仓库
           git init  --bare  aid.git

        4. 设置git项目文件夹数组
           chown  -R  tarena:tarena aid.git


    添加远程仓库

        git  remote add  origin     tarena@127.0.0.1:/home/tarena/gitrepo/aid.git


    向远程主机推送分支
        git  push  -u  origin  master


    从远程主机获取项目
        git  clone  tarena@127.0.0.1:/home/tarena/gitrepo/aid.git


    将代码同步到远程主机
        git  push


    将远程仓库内容拉取到本地
        git  pull
        git  fetch  (获取远程分支到本地,但是暂时不合并)

    删除已有的远程主机
        git remote rm origin


    github

       开源的项目社区网站,提供丰富的开源项目,也为用户提供项目管     理服务

       git是github唯一指定的代码管理工具

       网址 : https://github.com

       创建新的仓库: 右上角 + --》new repository -->填写信息

       操作github :
          1. git  remote  连接远程仓库
          2. 通过 git  push 上传代码
     
          * github就是一个远程仓库

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    消息中间件(一)MQ详解及四大MQ比较
    WebSocket 详解教程
    Nginx 简易教程
    排序七 归并排序
    排序五 简单选择排序
    排序四 希尔排序
    排序二 快速排序
    排序一 冒泡排序
    [算法题] 人民币大小写转换(阿拉伯数字和汉字转换)
    Linux编程 18 安装软件程序(yum工具对软件包安装,删除,更新介绍)
  • 原文地址:https://www.cnblogs.com/sky-ai/p/9913184.html
Copyright © 2011-2022 走看看