Git详解

Posted yuzihong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

  



以上是关于Git详解的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

使用 Git 来管理 Xcode 中的代码片段

markdown Git代码片段

Manifest和Repo使用详解

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段