1、git介绍
作用:主要用于项目文件管理,方便多人协同开发、方便版本控制
分为三个模式:工作区、暂存区、仓库取
工作区:对于添加、修改、删除文件的操作,都发生在工作区中
暂存区:暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分
仓库区:仓库区表示个人开发的一个小阶段的完成
仓库区中记录的各版本是可以查看并回退的
但是在暂存区的版本一旦提交就再也没有了
2、git安装+单人本地操作仓库
2.1安装命令:sudo apt-get install git(输入登录密码)
2.2查看安装的结果:git
2.3创建项目(这里的以在桌面创建项目为例Desktop/tset): mkdir test
2.4创建恩地仓储:进入到test,并创建本地仓库.git
新创建的本地仓库.git是个空仓库代码:执行完成会有一个隐藏的.git文件(ls -a
可查询)
cd Desktop/test/
git init
2.5配置个人信息(只需姓名+邮箱):
姓名:git config user.name '姓名' #git config user.name '任翠亮'
git config user.email '邮箱' #git config user.email '1244632764@qq.com'
配置完成默认可能是隐藏文件可通过:ls -a命令查看隐藏文件
2.6在test里面创建文件(这里创建的是python.py注意文件类型需要向里面增加内容后才会才会改变):touch python.py
2.7查看文件状态:git status
红色表示新建文件或者新修改的文件,都在工作区.
绿色表示文件在暂存区
新建的python.py文件在工作区,需要添加到暂存区并提交到仓库区
2.8将工作区的文件添加到暂存区
增加项目中的全部:git add.
增加指定问价:git add 文件名 # git add python
将缓存区的文件撤回工作区:git reset HEAD <文件名>...
2.9将暂存区的文件提交到仓库区:git commit -m '版本描述'
2.10练习修改python文件内容,然后可以直接提交
到仓库区:git commit -am "版本描述"
2.11查看历史版本记录: git log或者git reflog
说明:git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log 则不能察看已经删除了的commit记录
2.12退回版本
方案一:
HEAD表示当前最新版本
HEAD^表示当前最新版本的前一个版本
HEAD^^表示当前最新版本的前两个版本,以此类推...
HEAD~1表示当前最新版本的前一个版本
HEAD~10表示当前最新版本的前10个版本,以此类推...
git reset --hard HEAD^
方案二:当版本非常多时可选择的方案
通过每个版本的版本号回退到指定版本
当版本非常多时可选择的方案
2.12撤销修改代码
撤销工作区:git checkout 文件名
撤销暂存区:
# 第一步:将暂存区代码撤销到工作区
git reset HEAD 文件名
# 第二步:撤销工作区代码
git checkout 文件名
只能撤销工作区、暂存区的代码,不能撤销仓库区的代码
撤销仓库区的代码就相当于回退版本操作
2.13删除文件:
在项目中新建test.py文件,并添加和提交到仓库
确定删除处理:
# 删除文件
rm 文件名
# git确定删除文件,对比添加文件git add
git rm 文件名
# 删除后记录删除操作版本
git commit -m '删除描述'
误删处理:撤销修改即可
# 删除文件
rm 文件名
# git撤销修改
git checkout -- 文件名
3、git多人协同开发
多人协同开发
1.代码编辑界面介绍:此处使用gedit做演示
代码编辑界面左边为模拟经理的操作
代码编辑界面右边为模拟张三的操作
2.模拟张三先编辑login.py文件代码
进入张三本地仓库:cd Desktop/zhangsan/test007
编辑代码:num1 = 10
本地仓库记录版本:git commit -am '第一个变量'
推送到远程仓库:git push
3.模拟经理后编辑login.py文件代码
进入经理本地仓库:cd Desktop/manager/test007/
经理同步服务器代码:git pull
编辑代码:num2 = 20
本地仓库记录版本:git commit -am '第二个变量'
推送到远程仓库:git push
4.模拟张三同步服务器代码
本次可以把num2同步到张三的本地仓库