码迷,mamicode.com
首页 > 其他好文 > 详细

git相关

时间:2019-12-19 13:12:01      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:用户   实现   切换   mil   指定   告诉   之间   两种   操作记录   

一:常见的版本管理工具介绍及使用工具

1.1:版本控制的作用:

记录每次对代码做了哪些修改,并且轻易的把代码回滚到历史上的某个状态

 

1.2:版本控制工具主要实现的功能:

1)版本管理: 允许可以很容易的对产品的版本进行任意的回滚,就是每修改一次代码,就帮你做一次快照

2)协作开发:开发人员过多时,可以确保一直存储最新的代码库,所有人的代码应该和数据库保持一致

 

常见版本的工具介绍

1.SVN --CollabNet Subversion

svn是集中式版本控制系统,版本库是集中放在中央服务器的,首先从中央服务器拿到最新的版本,做完工作后,将自己做完的工作推送到中央服务器,集中式版本控制系统必须联网才能工作

2.GIT

GIT是分布式控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作期间不需要联网,只需要把自己的修改推送给对方,就能互相看到对方的修改了,也可以推送到git的仓库中

git ,GItHub和SVN比较

1 Git

git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,作用就是让你更好的管理自己的代码

 

 

2. GitHub

github是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,2、你每次提交的时候可以把代码提交到网上,,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习

 

3. SVNgit比较

1、Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上, 一段时间后再提交、合并,也可以不用联网在本地提交

2、Git下载下来后,在本地不必联网就可以看到所有的log,很方便学习,SVN却需要联网;
      

二:本地git基本使用命令

1. 创建git版本库

1、版本库又名仓库,可以简单理解成一个目录,

2、这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都

可以追踪历史,或者在将来某个时刻可以“还原”。

3、所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目
4、瞬间Git就把仓库建好了,而且是一个空的仓库(empty Git repository)
5、可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要
 手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了

  mkdir 项目名称                 #先创建一个项目
  cd 项目名称                  #切换到这个项目目录
  git init                         #初始化这个项目

 

 2. 工作区、暂存区、代码仓库
1、工作区: 就是在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。
2、暂存区 :  暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)
3、版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库,  版本库中还有Git
                         自动创建了第一个分支master,以及指向master的一个指针HEAD

3、 把文件添加到版本库分为以下三步:
1)vim Readme                        #工作区(Working Zone)
2)git add                                 #暂存区(Stage zone)
3)git commit                           #代码仓库(Repository master) 只有提交到代码库才能被git管理

 

4、本地git基本命令

1、将文件添加到仓库
        git add Readme                       #指定将Readme文件添加到暂存区
        git add .                                   #将当前目录中的所有文件全部添加到暂存区
        git status                                 #查看更改了哪些,创建了哪些,哪些没有添加到仓库,哪些添加到了仓库
        git status diff readme              #查看readme文件具体修改了哪些
        git commit -m "commit tag"     # git commit告诉Git,把文件提交到仓库-m后面输入的是本次提交的说明(版本名字)

        说明:
          # 执行git commit 命令时必须配置用户信息
          git config --global user.name "Tom Git"
          git config --global user.email tom@example.com

    2、回滚
        git log                                         #查看所有提交到仓库的版本记录:   git log -2
        git reflog                                     #查看所有操作记录(状态的md5值和改变的值)
        git reset --hard d9e0ed0            #回到指定版本(d9e0ed0是创建版本的MD5值得前6位或者7位)
        git reset --hard HEAD^               #回到上一个版本
        注:这样可以回到第一次提交到仓库的状态,但再使用git log看不到其他几次的md5值了

    3、撤销修改

        vim Readme                               #我们在Readme文件中写了一些错误的代码 
        git add .                                      #然后又一不小心将文件从工作区提交到了 stage区
        git reset HEAD Readme            #将Readme中刚提交到 stage区 的代码撤回到工作区
        git status                                    #查看目前工作区状态
        git checkout -- Readme             #将Readme在工作区错误的代码丢弃

    4、删除操作(两种方法)

        方法1:这种方法需要执行git add .  

          rm Readme
          git add .
          git commit -m "delete file by git rm"
          git reset --hard HEAD^

        方法2这种方法可以省去执行git add .

          git rm Readme
          git commit -m "delete file by git rm"
          git reset --hard HEAD^

        注: 在没有git commit前,使用 git checkout -- Readme 可以恢复删除的文件(Readme)

    5、强制使用master覆盖本地代码

        $ git fetch --all
        $ git reset --hard origin/master
        $ git pull

git相关

标签:用户   实现   切换   mil   指定   告诉   之间   两种   操作记录   

原文地址:https://www.cnblogs.com/xinghui1217/p/12066967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!