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当这个系统的任何一个客户端出现问题的时候,都可以从另外的客户端(即使服务器挂了)获取所有的代码(因为每个人电脑里都有完整的版本库)。

数据版本管理 DVC data version control 和git一起管理你的机器学习实验数据 git做版本管理_暂存区