zoukankan      html  css  js  c++  java
  • git

    一、GIT体系概述

    提问:

    1. 大家公司是用什么工具来管理代码版本?SVN、CVS、GIT
    2. GIT和SVN有什么区别呢?

     

    GIT 与 svn 主要区别:

    1. 存储方式不一样
    2. 使用方式不一样
    3. 管理模式不一样

    1、存储方式区别

    GIT把内容按元数据方式存储类似k/v数据库,而SVN是按文件(新版svn已改成元数据存储)

    演示git 存储过程演示

    cd .git/objects/df/

    git cat-file -p df70460b4b4aece5915caf5c68d12f560a9fe3e4

    echo 'version1' > text.txt

    git hash-object -w text.txt

    2、使用方式区别

    从本地把文件推送远程服务,SVN只需要commint 而GIT需要 add、commint、push 三个步骤

     

    SVN基本使用过程

     

     

    Git基本使用过程

     

     

    3、版本管理模式区别

    git 是一个分布式的版本管理系统,而要SVN是一个远程集中式的管理系统

     

    集中式

     

     

    分布式

     

    * git可以直接使用本地仓库进行开发,非常方便。

    * git的远程仓库主要是为了协同开发。

    * 可以配置远程仓库的自动备份。

    二、GIT 核心命令使用

    主要内容:

    1. git 客户端安装配置
    2. 整体认识GIT的基本使用
    3. 分支管理
    4. 标签管理
    5. 远程仓库配置

    1、安装git 客户端安装

    官方客户端: httpsd://git-scm.com/downloads

    其它客户端:https://tortoisegit.org/download/

    * windows上安装的时候一定要注意换行符的自动转换。

     

    2、认识GIT的基本使用

    1. git 项目创建与克隆
    2. 文件提交与推送

    完整模拟从项目添加到push 过程

    l  创建项目

    l  初始化git仓库

    l  提交文件

    l 远程关联

    l push 至远程仓库

     

    本地初始化GIT 仓库:

    #基于远程仓库克隆至本地

    git clone <remote_url>

     

    #当前目录初始化为git 本地仓库

    git init  <directory>

     

    基于mvn 模板创建项目

    mvn archetype:generate

     

    本地添加

    #添加指定文件至暂存区

    git add <fileName>

    #添加指定目录至暂存区

    git add <directory>

    #添加所有

    git add -A

    #将指定目录及子目录移除出暂存区,本地不删除

    git rm --cached target -r

    #添加勿略配置文件 .gitignore

    本地提交

    #提交至本地仓库

    git commit file -m '提交评论'

    #快捷提交至本地仓库

    git commit -am '快添加与提交'

    3、分支管理

    #查看当前分支

    git branch [-avv]

    -avv 显示所有的分支

    #基于当前分支新建分支

    git branch <branch name>

    #基于提交新建分支

    git branch <branch name> <commit id>

    # 删除分支

    $ git branch -d {dev}

    #切换分支,后边的branch name可以是远程分支哦

    git checkout <branch name>

    #合并分支

    git merge <merge target>

    #解决冲突,如果因冲突导致自动合并失败,此时 status 为mergeing 状态.

    #需要手动修改后重新提交(commit) 

     

     

    4、远程仓库管理

    #查看远程配置 

    git remote [-v]

    #添加远程地址

    git remote add origin http:xxx.xxx

    #删除远程地址

    git remote remove origin 

    #上传新分支至远程

    git push --set-upstream origin master 

    git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

     

     

    #将本地分支与远程建立关联

    git branch --track --set-upstream-to=origin/test test

    5、tag 管理

    #查看当前

    git tag

    #创建分支

    git tag <tag name> <branch name>

    #删除分支

    git tag -d <tag name>

     

    6、日志管理

     

    #查看当前分支下所有提交日志

    git log

    #查看当前分支下所有提交日志

    git log {branch}

    # 单行显示日志

    git log --oneline

    # 比较两个版本的区别

    git log master..experiment

     

    #以图表的方式显示提交合并网络

    git log --pretty=format:'%h %s' --graph

  • 相关阅读:
    团队作业(七)
    8848小分队:个人最终总结
    团队作业(四)
    参与团队编程的讨论郝一的角度
    团队作业(五)
    团队作业(三)
    团队作业(二)
    团队题目的确立与小组分工
    xJuujMbXeB
    团队作业汇报
  • 原文地址:https://www.cnblogs.com/xxxuwentao/p/10585770.html
Copyright © 2011-2022 走看看