git版本管理
- 一、什么是git?
- 安装git
- 二、git 基本工作流程
- 三、 git的使用
- 3.1 git使用前配置
- 3.2 创建自己第一个git
- 3.3 提交步骤
- 3.4 查看
- 3.5 回退版本
- 3.6 撤销
- 3.7 解决冲突
- 3.8 暂时保存更改
- 四、分支
- 4.1 什么是分支
- 4.2 分支命令
- 五、 远程仓库
- 5.1 git提交本地到远程仓库
- 六、Linux命令
- 七、git与svn比较
一、什么是git?
Git是一个版本管理工具,它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新的记录恢复回来。
安装git
下载地址 (安装过程中,所有选项使用默认值即可。)
右键电脑桌面出现Git Bash Here表明你已经安装成功了^ v ^
二、git 基本工作流程
工作区 | 暂存区 | 本地仓库 |
本地的项目目录 | 临时存放被修改的文件 | 用于存放提交记录 |
流程:工作区(git add .)–>暂存区(git commit -m ‘描述’)–>本地仓库
三、 git的使用
3.1 git使用前配置
如果你是第一次创建git,会出现:
git config --global user.name // 提交人姓名
git config --global user.email // 提交人邮箱
注:可以查看C盘/用户/会生成一个.gitconfig文件(上面命令只需执行一次即可)
3.2 创建自己第一个git
- 创建一个文件,打开cmd黑窗口,
git init
命令初始化一个本地仓库 - 可以通过命令
attrib -r -h .git
将隐藏的.git文件显示出来 - 就可以在这个文件下写项目
- 注意: 我们初始化创建出来的git仓库属于
主分支
,默认只有一个主分支叫master,目前github已经更新主分支改名叫main
3.3 提交步骤
-
git add
<文件名> 提交单个修改文件进入暂存区 -
git add
. 提交所有修改的文件进入暂存区 -
git commit -m '对本次修改的描述'
向仓库中提交代码
3.4 查看
-
git status
查看文件状态 -
git log
查看日志 -
git log --pretty=oneline
美化日志 -
git reflog
查看所有日志
3.5 回退版本
-
git reset --hard HEAD^
回退上一个版本 git reset --hard 版本id
3.6 撤销
当你不经意之间碰到键盘,提交代码后会造成问题
-
git checkout -- <文件名>
撤销工作区修改 或者git checkout <文件名>
-
git rm --cached <文件名>
将文件从暂存区中删除
3.7 解决冲突
在多人同时开发一个项目时,如果两个人修改了同一个文件的同一个地方,就会发生冲突。冲突需要人为解决。
-
git diff --staged
查看存入到暂存区,没提交到本地仓库的修改 -
git diff info
比较当前分支与info分支差异 -
git diff HEAD index.html
比较的是工作区中的文件与版本库中文件的差异
3.8 暂时保存更改
在你需要处理紧急情况下,在git中可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,转向其他工作。
-
git stash
存储临时改动 -
git stash pop
恢复改动
四、分支
4.1 什么是分支
分支就是当前项目目录中代码的一份副本,使用分支,可以实现多支开发,大大提高开发效率
4.2 分支命令
-
git branch <分支名>
创建分支 -
git checkout <分支名>
切换分支 -
git merge <要合并的分支>
合并分支(要切换到父分支上才能合并) -
git branch
查看分支 -
git branch -d <分支名>
删除分支(合并后才允许删除)
五、 远程仓库
可以简单理解成是一个远程的代码托管工具
可以注册国内的gitee或者国外的github
5.1 git提交本地到远程仓库
可以使用:
git push 仓库地址 master // 推送代码
git pull 仓库地址 master // 拉取代码(如果远程有内容,先拉取最新代码再推送代码)
也可以给远程仓库起个名字:
git remote add origin 仓库地址 // origin是仓库别名
git push origin master
git push -u origin master // -u记住推送地址以及分支,下次推送只需要输入git push即可
清除远程仓库地址等信息
git remote rm origin
拉取仓库代码
1. git clone https://gitee.com/sea-123/uni-app.git
2. git pull
3. git push
当我们进入一家公司,将项目克隆下来,不能直接写代码。因为我们克隆下来的项目是在master主分支上,所以要创建一个分支(比如你要写购物车模块git branch shopcart),在shopcart上写代码,然后合并到主分支上。
六、Linux命令
1. ls 查看文件/目录
2. pwd 显示当前的工作目录
3. cd 进入目录
[例子]:
cd 回到注册进入时的目录
cd /tmp 进入 /tmp 目录
cd ../ 进入上级目录
4. mkdir 创建目录
5. rmdir dirname //删除空目录
6. rm -d dirname //删除空目录
7. rm -r dirname // 要删除非空目录
8. cat 显示文件至标准输出
7.cp 拷贝
例子
cp fi le1 file2 将文件 file1 拷贝到文件 file2
8. mv 移动
- i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止
[例子]:
mv file1 file2 将文件 file1 改名为 file2
mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
9. touch 创建文件
10. vi 编辑
i 插入 编辑内容
esc 退出编辑
:wq 保存并退出
更多linux 指令参考:
七、git与svn比较
git是分布式版本控制系统
,svn是集中式版本控制系统
svn也是一个版本管理控制系统,它可以检出checkout,新增,提交,更新,查看历史记录等操作。
区别:
svn具有权限管理控制,而git只要有账号,就可以进行代码导入和导出
集中式版本控制系统最大的毛病就是必须联网才能工作。严重的依赖服务器端,当服务器端无法使用的时候,版本控制也就无法再使用了。
git当这个系统的任何一个客户端出现问题的时候,都可以从另外的客户端(即使服务器挂了)获取所有的代码(因为每个人电脑里都有完整的版本库)。