1.Git的简介
Git 是目前世界上最先进的分布式版本控制系统
2.Git的组成
工作区暂存区和仓库区
工作区
- 对于
添加
,修改
,删除
文件的操作,都发生在工作区中
暂存区
- 暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分
仓库区
-
仓库区表示个人开发的一个小阶段的完成
- 仓库区中记录的各版本是可以查看并回退的
- 但是在暂存区的版本一旦提交就再也没有了
3.项目初始化
git clone 项目地址
#创建本地仓库(重要)
git init # 初始化成功后可以看到.git文件夹(Windows下需要打开隐藏文件)
#配置个人信息(等同于修改.git中的config)
git config user.name "XiaoPawnYe"
git config user.email "xiaopawnye@163.com"
#添加文件
git add .
git commit -m "some init msg"
git push
git checkout master (切换到主分支)
4.常见的git命令
1.查看文件状态
git status
2.将工作区文件提交到暂存区
git add . #所有文件
git add login.py #具体文件
3.将暂存区文件提交到仓库区
git commit -m '版本描述'
#或者
git commit -am '版本描述'
4.查看历史版本
git log #不能察看已经删除了的commit记录
#或者
git reflog #可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录
5.回退到某个具体的版本
git reset --hard 版本号
6.撤销工作区和暂存区的修改
#1.撤销暂存区代码
git reset HEAD 文件名
#2.撤销工作区代码
git checkout 文件名
5.解决代码冲突
**原因:**相同的文件被同时修改,后者提上去的没有拉取最新的代码
解决办法:依然需要add
、commit
、push
6.标签
给暂存区打标签
git tag -a 标签名 -m '标签描述'
将标签推送到远程创库
git push origin 标签名
删除标签
# 删除本地标签
git tag -d 标签名
# 删除远程仓库标签
git push origin --delete tag 标签名
7.分支
查看当前分支
git branch
创建分支
git checkout -b 分支名
设置本地分支跟踪指定分支
git push -u origin 远程分支名
将dev分支合并到master分支
#切换到master分支
git checkout master
#将dev分支合并到master
git merger dev
#将合并后的主分支推送到远程创库
git push
8.rebase
场景一:将多条记录合成一条
#将提交记录A和提交记录B范围内的提交记录合并成一个
#将pick改为s
#建议只做没有提交到远端分支的rebase,否者很麻烦
git rebase -i 最远的版本号(HEAD~3)
#以图形显示
git log --graph --pretty=format:"%h:%s"
场景二:将分支合的开发插入到主分支并去掉分支记录
git checkout dev
git rebase master
git checkout master
git merge dev
场景三:防止异地分支开发时出现分叉
参考:fetch和rebase
#先将拉取代码记录到暂存仓库
git fetch orgin dev
#然后将本地开发的代码插入到之前的记录中
git rebase origin dev
解决冲突
git add 冲突文件
git rebase –continue
git push
注意
git pull 等于 git fetch 加上 git merge