Git 浅见

一:什么是 git
    是一种开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
                下图是 git 的一个工作流程简图
            以上图片来自 哇偶哇偶Z 的csdn博客,图片和博客地址 https://blog.csdn.net/ddwddw4/article/details/82906954
 
二:什么是 分布/集中式版本控制系统
        
        软件开发过程中,要解决多人协作的问题,需要有一个版本控制系统,用来合并和管理多人对同一个项目的开发和修改。
        集中式版本控制系统,CVCS(Centrailized Version Control System)顾名思义,是把代码的管理和同步放在同一个服务器端
        来进行,如CVS,SVN,由于有完善的权限系统,以及统一的服务端,适合商业软件的开发。
        分布式版本控制系统,DVCS(Distributed Version Control System),则相当于把集中式版本控制系统的服务端和客户端都交
        给参与开发的客户端来保管,只有需要不同开发者合并代码时,才需要一个中转站来完成。( 转载自百度词条 )
        
 
三:什么是 svn
    是一种集中式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
                下图是 svn 的一个工作流程简图
            以上图片来自百度图库 svn流程图
 
        svn 和 git 的一些区别
        1.git 是分布式版本控制系统;svn 是集中式版本控制系统
        2.git 没有中央服务器,每位开发者的终端都有一个完整的版本库;svn 的版本库是集中存放在中央服务器的
        3.git 可以离线工作;svn 无法离线工作
        4.git 操作较复杂,保密性不高;svn 操作较简单,保密性较高
 
 
四:如何在 window 中安装 git
    4.1 在git官网下载 地址( https://git-scm.com/download/win)
 
     
 
     4.2 安装步骤
 
          (4.2.1)点击刚刚下载好的exe文件,
 
          
 
          (4.2.2)我个人在本次安装中不做更改,全部按照默认选项,直接 Next,安装完成
            
          
 
          (4.2.3)安装完成后点击鼠标右键,菜单栏会出现 Git GUI Here 和 Git Bash Here 两个选项
 
            
 
          (4.2.4)运行 Git Bash Here ,将会出现如下结果
 
            
 
 
五:什么是 GitHub,它和Git的区别是什么
     GitHub是一个面向 开源及私有 软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub(百度定义)。简单来
        说就是个网站。这个网站上有许许多多程序爱好者以及国内外一些知名的网络公司上传的开源代码等等,是一个学习交流的平台。我
        们可以在GitHub上注册一个账号,通过这个账号我们也可以分享自己编写的代码。
        
 
 
        Git 是一个版本管理工具。简单来说就是用来记录变化的工具。比如自己对程序做出了修改,git就会对这次的文件和上次的文件进行比较,
        然后记录并保存这种变化。git 一个最重要的功能就是版本回退,它能根据这些保存的变化对文件进行还原。
 
 
六:如何使用 GitHub 和 Git
    6.1 注册 GitHub 账号 ( https://github.com/)
        (6.1.1)依次填写信息后提交
        
 
 
    6.2 在GitHub上新建一个项目
        (6.2.1)依据提示注册成功后重新进入,并新建一个项目
        
 
 
        (6.2.2)填写库名,并选择是否公开,点击 创建
        
 
 
        (6.2.3)保留下面这个页面,我们等下需要用到这个页面的信息
        
 
 
    6.3 回到桌面,打开 Git Bush
        (6.3.1)使用如下命令进行一些全局配置
            A. git config --global user.name "git名"
            B. git config --global user.email "git邮箱"
            C. git config --global --list
        
 
 
        (6.3.2)使用如下命令在本地创建项目并初始化
            A. cd d: (返回d盘)
            B. mkdir GitCenter (创建一个名为 GitCenter 的文件夹)
            C. pwd (查看文件夹路径)
            D. git init (使用初始化这个文件夹)
        
            E. 可以看到 GitCenter 文件夹内会多出一个 .git 文件
        
    6.4 我们先来测试一下 git 的功能
        (6.4.1)在 GitCenter 中新建一个txt文件,写入内容
        
 
 
        (6.4.2)打开 Git Bush ,使用如下命令
            A. git add "test.txt" ( 提交文件至暂存区 )
            B. git commit -m "第一次提交" ( 提交文件至本地仓库 )
        
 
 
        (6.4.3)查看 commit 状态
            A. git status ( 下面表示刚刚的文件提交成功,工作树很干净 )
        
            B. 如果我们改动( 修改、删除等 )txt文档后,再使用 git stutes 命令,就会
                出现如下提示信息。
        
 
 
        (6.4.4)查看 文件内容有哪些改动
            A. git diff 文件名 ( 可以看到文件内容有哪些改动 )
        
            B. 继续使用 git add 和 git commit 这两个命令,把这个改动保存提交上去 
        
 
 
        (6.4.5)版本回退
            A. git log ( 查看日志 )
        
            B. git reset --hard HEAD^ ( 想回退几个版本呢就在HEAD后添加几个 ^ 符 )
            C. git reset --hard  434ea91(回退指定版本)
    
 
 
        (6.4.6)删除功能
            A. rm test.txt ( 删除文件 )
        
        
 
    6.5 把 Git建立的本地仓库 和 GitHub建立的远程仓库 关联在一起
        (6.5.1)关联远程仓库,把上面那个 GitHub远程仓库地址复制过来
            A. git remote add orgin https://github.com/ResumeMy/GitCenter.git
        
            B. 第一次链接远程仓库需要输入 GitHub 的账号密码
        
 
 
        (6.5.2)将本地仓库内容推送至远程仓库
            A. git push -u orgin master ( 第一次推送至 master )
        
            B. 再进入 GitHub 发现已经推送上来了
         
 
        (6.5.3)在远程仓库建立分支,并将远程分支更新至本地
            A. 直接在 GitHub 上创建分支
        
            A1. 此时,master 和 新建分支(名:each)的内容一致
            A2. 我更改本地文件 first.txt 内容,并推送至 master
            A3. 这时,本地内容是新的,master 内容是新的,each 内容是旧的
            
            B. git pull orgin each ( 把上面创建的each分支更新至本地 )
        
            B1. 这时,本地和远程都有 master 和 each分支
 
            C. git checkout each ( 本地由 master 切换至 each 分支 )
        
 
            D. 此时我们打开 first.txt 文件,发现文件内容是 旧的 (each分支)
        
 
            E. git checkout master ( 由 each分支 切换回 master )
        
 
            F. 此时我们再打开 first.txt 文件,发现文件内容是 最新的 (master)
        
 
 
        (6.5.4)在本地创建分支,并将分支更新至远程仓库
            A. git branch other ( 在本地创建一个 other 分支 )
            B. git checkout other  ( 切换至 other 分支 )
            C. git checkout -b other  ( A 和 B 可以合并为 C  )
            D. git push orgin other ( 本地新建分支 other 被推送至 远程仓库 )
        
        
 
 
七:部分 Git命令
 
 
此图片转自 csdn博客,地址: https://blog.csdn.net/easy_purple/article/details/88064394
 

猜你喜欢

转载自www.cnblogs.com/cfh5/p/12355621.html