一.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