zoukankan      html  css  js  c++  java
  • Git详解

    一.Git整体理解

      Git代码管理是分布式管理方式系统.优点在于其极高的安全性和非常强大的分支管理

                                                                                                  整体流程图.png

    • 工作区(working directory): 就是本地的代码区,电脑能看到的目录,就是工作区
    • 暂存区(Index):工作区下有一个隐藏的'.git'文件,其主要作用是存储Git自动创建的第一个master分支,还有指向master分支的HEAD指针.还有一个最重要的stage的暂存区.需要提交的文件修改通通放到暂存区,然后一次性提交到暂存区的所有修改
    • 本地仓:本地的个人仓库.管理着个人的代码的版本信息.
    • 远程仓:线上的仓库.管理着推送到服务器的代码版本.

      过程1: 由工作区<->暂存区

    • 工作区->暂存区: 用git add . 添加所有的修改或者git add <文件名>添加单个指定的文件修改到暂存区中.

      过程2:由暂存区<->本地仓库

    • 暂存区->本地仓库:用git commit -m '本次commit的描述'

      过程3: 由本地仓->远程仓库

      git push

      说明: 三种git add的区别

    • git add .    提交新文件(new)和被修改(modified)文件
    • git add -u    提交被修改(modified)和被删除(deleted)文件
    • git add -A   提交所有变化

     二:在本地创建一个Git管理的项目

    • 从线上拉项目到本地

      用 git clone "项目的地址路径"克隆一个git管理的项目到本地 

    • 本地项目上传线上

      git init

      git remote add origin "地址url"

     三.Git上的常用查看操作

      1.查看文本内容    cat <文件名>

      2.查看git的状态   git status会告诉你在当前的分支上git的情况(有没有修改,修改的文件是什么等)

      3.查看更详细的文件修改 

    • git diff 查看所有文件的不同
    • git diff <文件名> 查看指定文件的不同  diff 是difference的缩写.只能查看还未add(还没加入到暂存区)的修改

      4.查看所有的commit信息

      git log
      git log --pretty=oneline 更简洁的查看log信息(只有commit号和描述信息)  

      5.查看所有的git操作过的命令,可以找到删除了的commit号  

       git reflog 

      git log --graph

    四.冲突处理 

    <<<<<<<HEAD
    1 + 1 = 2                         这个区间内的内容是当前开发者修改的
    =======
    1 + 2 = 3                        这个区间内的内容是其他开发者修改的
    >>>>>>>
    需要人工判断具体是删除或者保留哪一个修改内容.并且把1,2,3行提示删除掉.

    五.Git分支操作

    1.分支基本操作

    • 分支的创建和切换       git branch "分支名" 创建一个分支;git checkout "分支名"  切换到该分支;   git checkout -b "分支名"  创建并切换到该分支;
    • 列出所有分支    git branch 列出本地分支  用*标记当前的分支;git branch -a   列出远程分支
    • 合并分支   git merge  "分支名"   合并指定分支到当前分支;  git rebase "分支名" 一个分支里提交的改变移到另一个分支里重放一遍 
    • 删除分支     git branch -d "分支名"  删除本地分支;   git branch -D "分支名"  强制删除本地分支;  git push origin  "分支名"  删除远程分支; 如果提示the branch XXX is not fully merged(XXX分支有没有合并到当前分支的内容)
    • 本地新建了一个分支要推送到线上,需要设置关联或者追踪.     第一次push: git push origin 本地分支名:远程分支名
    • 远程端生成了一个新的分支,拉取到本地.   先关联远程端分支到本地: git branch --set-upstream-to=origin/<线上分支名> <本地分支名>  然后git pull

      

  • 相关阅读:
    Asp.net 动态添加Meta标签
    【转】在SharePoint Server 2010中更改“我的网站”
    SPQuery DateTime 类型查询
    Asp.net Web Application 打开 SharePoint 2010 Site 错误 The Web application at could not be found
    How To Create SharePoint 2010 Site Collection In Its Own DB
    C# 文件打印
    面试题 java集合
    《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读
    《深入理解Java虚拟机》(五)JVM调优
    《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
  • 原文地址:https://www.cnblogs.com/yuzihong/p/10102202.html
Copyright © 2011-2022 走看看