一.什么是git?
Git 是目前世界上最先进的分布式版本控制系统(没有之一)
作用:
源代码管理
目的:
1)方便多人协同开发
2)方便版本控制
Git的诞生:
1)作者是 Linux 之父:Linus Benedict Torvalds.
2)当初开发 Git 仅仅是为了辅助 Linux 内核的开发(管理源代码)
二.git管理源代码的特点
1)Git是分布式管理.服务器和客户端都有版本控制能力,都能进行代码的提交、合并
2)Git会在根目录下创建一个.git隐藏文件夹,作为本地代码仓库
Git操作流程详解:Git服务器 --> 本地仓库 --> 客户端 --> 本地仓库 --> Git服务器
三.工作区,暂存区,仓库区
1.工作区: 对于添加、修改、删除文件的操作,都发生在工作区中
2.暂存区: 暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分
3.本地仓库区: 仓库区表示个人开发的一个小阶段的完成
仓库区中记录的各版本是可以查看并回退的
但是在暂存区的版本一旦提交就再也没有了
四.git单人本地仓库操作
1.安装git
1)windows:下载服务端
2)ubuntu: sudo apt-get install git
2.验证是否安装成功
git
3.创建项目文件夹
4.创建本地仓库
1)在项目文件夹中打开终端
2)新建本地仓库: git init
创建成功后会在本地创建一个隐藏的.git文件夹,这个就是本地仓库
5.配置个人信息
git config user.name "xxx"
git config user.email "xxxx"
可直接配置全局个人信息:
git config --global user.name "xxx"
git config --global user.email "xxxx"
五.本地git常用操作
1.初始化本地仓库-->git init
2.查看状态-->git status
3.将工作区的文件添加到暂存区:
1)添加项目中的所有文件-->git add .
2)添加指定文件-->git add 文件名
4.将暂存区的文件提交到本地仓库-->git commit -m "版本描述"
commit会生成一条版本记录
-m后面是版本的描述信息
5.添加和提交合并按钮-->git commit -am"版本描述"
6.查看历史版本-->git log 或者git reflog
7.回退版本
1)git reset --hard HEAD
HEAD表示当前最新版本
HEAD^表示当前最新版本的前一个版本
HEAD^^表示当前最新版本的前两个版本,以此类推...
HEAD~1表示当前最新版本的前一个版本
HEAD~10表示当前最新版本的前10个版本,以此类推
2)git reset --hard 版本号
一般使用 git checkout 版本号来切换版本
8.撤销修改
1)撤销工作区代码-->git checkout 文件名
2)撤销暂存区代码
1>将暂存区代码撤销到工作区:git reset HEAD 文件名
2>撤销工作区代码:git checkout 文件名
9.对比版本
1)对比版本库与工作区:git diff HEAD -- 文件名
2)对比版本库:git diff HEAD^ -- 文件名
10.删除文件
步骤:
1)rm 文件名
2) git rm 文件名(类似于添加文件时的git add)
3)git commit -m "删除描述"
误删处理(撤销删除):
只能对未提交到本地仓库的文件撤销
git checkout -- 文件名
回退版本或者撤销时需要看看工作区是否为干净的,以免代码白敲了
11.克隆远程仓库-->git clone 远程仓库地址
12.提交本地仓库到远程仓库-->git push
13.从远程仓库同步数据到本地-->git pull
六.远程仓库(GitHub)
1.克隆远程仓库到本地:
1)复制远程仓库的克隆地址
2)进入要存放项目的目录下打开终端
3)git clone 远程仓库的克隆地址
2.在本地修改(操作就是本地git的那些操作)
3.把本地修改git push 到远程仓库
每次提交到远程仓库时都需要输入账号和密码,如果设置了记住密码则不需要输入账号和密码
七.关于设置
1.设置记住密码(默认15分钟)-->git config --global credential.helper cache
2.如果想自己设置时间,可以这样做(1小时后失效)-->git config credential.helper 'cache --timeout=3600'
3.长期存储密码-->git config --global credential.helper store
八.代码冲突
1.提示:多人协同开发时,避免不了会出现代码冲突的情况
2.原因:多人同时修改了同一个文件
3.危害:会影响正常的开发进度
4.注意:一旦出现代码冲突,必须先解决再做后续开发
容易冲突的操作方式:
1)多个人同时操作了同一个文件
2)一个人一直写不提交
3)修改之前不更新最新代码
4)提交之前不更新最新代码
5)擅自修改同事代码
减少冲突的操作方式:
1)养成良好的操作习惯,先pull在修改,修改完立即commit和push
2)一定要确保自己正在修改的文件是最新版本的
3)各自开发各自的模块
4)如果要修改公共文件,一定要先确认有没有人正在修改
5)下班前一定要提交代码,上班第一件事拉取最新代码
6)一定不要擅自修改同事的代码
|
|