git版本控制

介绍:一个免费开发,分布式的代码版本控制系统,维护代码,存储代码版本

作用:记录某一时刻的代码版本,本地记录或者远程记录,切换分支开发,多人开发时可高效合并代码内容

下载:https://git-scm.com/等

检查是否下载成功:

1.鼠标右键在这里插入图片描述

2.打开命令行窗口

window+R输入cmd打开命令行,输入git --version

在这里插入图片描述

3.在VScode中检查

在这里插入图片描述

个人本机使用

配置自己的用户名和邮箱,表明自己的身份

使用git bash或者命令行窗口进行设置

git config --global -l
可以查看自己git的配置
git config --global user.name "cc"
git config --global user.email "cc.com.cn"

创建git仓库(记录文件版本内容的地方,存储这修改的历史记录)

在你创建的项目下初始化git仓库

git init

从远程(github或者gitee等)克隆git仓库

在这里插入图片描述

git clone 路径

Git 的三个区域

工作区:实际开发时操作的文件夹

暂存区:暂时改动过的文件

版本库:提交并保存暂存区内的内容,产生一个版本快照,一个版本号。

命令作用
git add 文件名将指定文件暂存
git add .将所有改动的文件暂存
git commit -m ‘注释说明’将暂存的内容提交版本库,产生版本快照

注意:文件名为以终端为起初的相对路径

在这里插入图片描述

Git 的文件提示状态

文件状态(文件右侧显示内容)
未跟踪(U)从未被git管理过新文件
新添加(A)第一次被git暂存之前版本记录无此文件
未修改(’ ')三个区域统一提交commit保存后
已修改(M)工作内容发生变化修改了工作区文件

查看文件状态

git status -s

Git暂存区的使用

临时存储,可以临时恢复代码,与版本库解耦

暂存区回退:覆盖工作区

git restore 目标文件

从暂存区移除文件

git rm --cached 目标文件

也可以在工作区改,重新暂存,git add

Git版本库回退版本

把版本库某个版本对应的内容,回复到工作区/暂存区

回退命令:保留为保留版本之后新的改动

在这里插入图片描述

工作区和暂存区都保留,只有版本库回退
git reset --soft 版本号
不保留,三个区域都保留,版本快照覆盖工作区和暂存区
git reset --hard 版本号
工作区保留,暂存区不保留
git reset --mixed 版本号 (默认,与 git reset 等价)

删除文件

直接在工作区删除,重新提交,产生版本快照

比较文件差异

命令比较
git diff工作区和暂存区比较
git diff HEAD工作区和版本库的比较
git diff --catch暂存区和版本库
git diff 两个版本号两个版本之间的比较
git diff HEAD~HEAD当前版本和上一个版本
git diff HEAD~2之前的两个版本和当前版本
git diff HEAD~HEAD text.txt指定文件比较

忽略文件

在提交之前进行配置忽略文件,让仓库更小更快,避免没有意义的文件提交

可以去github上去找模版使用

.gitignore文件

像vue项目创建时的忽略文件

在这里插入图片描述

分支

指针HEAD指向的默认为master,为主线,为当前的版本

在这里插入图片描述

作用:在现有代码上分支出来开发不同的功能或者修复bug,多人协同开发,不影响主线

创建分支的命令

git branch 分支名(创建了dev分支)

此时的指针指向为

在这里插入图片描述

需要切换到分支上

git checkout dev

然后进行git add . git commit -m ''便是在分支上操作了

技巧:git checkout -b 分支名;创建并立即切换分支

分支的合并与删除
  1. 切换回主线
git checkout master
  1. 合并其他分支(dev)
git merge dev
  1. 删除已经合并后的分支指针
-D为强制删除
git branch -d dev

合并后产后版本快照

在这里插入图片描述

分支合并的冲突

如果在不同的分支中同时修改了同一个文件,产生合并冲突,git无法合并。

vscode中找到冲突文件并手动解决,解决后需要提交一次记录

git log --graph
可以查看版本记录,并查看时间和作者

不解决冲突可以退出合并

git merge --quit

在这里插入图片描述

git远程仓库,多人协同开发

介绍:从远程仓库拿到自己开发的代码,和将自己开发的代码从本地仓库提交到远程仓库(gitee、github/gitlab等)

作用:多人协作,托管在远程的仓库里

使用远程仓库代码

git clone 地址

后续提交

暂存
git add . 
提交版本库
git commit -m '注释说明'
拉取远程修改过的代码
git pull
提交自己修改的代码
git push

本地仓库上传远程仓库

  1. 查看远程仓库和本地仓库的主线名字是否一致

github上默认为main,本地可能默认为master

在这里插入图片描述

如果不一致,可以重命名

重命名
git branch -M main
  1. 本地仓库添加远程仓库地址
git remote add 远程仓库别名(origin) 远程仓库地址

查看远程仓库
git remote -v
删除远程仓库
git remote remove 远程仓库别名
  1. 改变主支名
git branch -M main
  1. 本地git仓库推送版本记录到远程仓库
git push -u origin main

在这里插入图片描述

在这里插入图片描述

可能会遇到vpn导致的端口不一致

解决方法:

设置-> 网络和Internet-> 代理

打开代理服务器

在这里插入图片描述

设置git 的端口一致

git config --global http.proxy 127.0.0.1:10809
git config --global https.proxy 127.0.0.1:10809

然后再执行

git push -u origin main
后续进行提交时
只需要
git pull
git push
可能会跳出登录github

在这里插入图片描述

显示成功

在这里插入图片描述

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值