【2023.4.7】
一、基础知识
分布式版本控制
在操作文件中的 ①增加 ②修改 ③删除 都是submit操作到本地的存储文件
分支功能相关原理:
因为不同的开发人员对一个版本库的提交会产生频繁的冲突
因此作为改进对版本库进行复制多个副本,然后不同的开发人员对最终修改进行合并时只产生一次冲突
在合并时没有description 可以右键创建tag添加说明
git 中SHA-1 40位的版本号有两个用途:①可以合并版本库②分成2+38前两位用来定位文件夹
git 基本命令
git init 初始化仓库
git clone 拷贝一份远程仓库,也就是下载一个项目。
git add 添加文件到暂存区
git status 查看仓库当前的状态,显示有变更的文件。
git stash 将所有已列入追踪(tracked)的文件建立暂存版
git stash pop 取回这个暂存文件
git diff 比较文件的不同,即暂存区和工作区的差异。
git commit 提交暂存区到本地仓库。
git reset 回退版本。
git reset HEAD^ 回退已经提交一次前的版本
git rm 将文件从暂存区和工作区中删除。
git mv 移动或重命名工作区文件。
git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并
git branch 查看当前所有分支
git branch (branchname) 创建分支命令
git checkout (branchname) 切换分支命令
git merge 合并分支命令
二、vscode插件使用
原教程链接:https://blog.l0v0.com/posts/94ffdbdf.html
M 是 modify 的缩写即该文件存在修改
D 是 delete 的缩写即该文件被删除了
U 是 Update 的缩写即该文件是新添加
文件按钮的的意思。
如果是新添加的文件,放弃修改就会提示彻底删除文件。
如果是删除的文件,选择放弃修改就会从仓库中恢复文件(再也不用担心误删的文件找不到了)
点击 + 号确认文件的修改就会提到 stash Changes 上 (对应 git add 命令)
点击√确认文件的submit
三、实际使用
描述:
从远程分支创建本地分支
git branch -r 查看远程和本地所有分支:
git branch -a 查看本地分支:
git checkout -b 本地分支名x origin/远程分支名x 使用该方式会在本地新建分支x,并自动切换到该本地分支x。采用此种方法建立的本地分支会和远程分支建立映射关系。
git fetch origin 远程分支名x:本地分支名x 使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。采用此种方法建立的本地分支不会和远程分支建立映射关系。
git branch -vv 查看本地分支和远程分支映射关系
描述:将本地更改提交到远程的一个分支
本地新的文件 远程没有不会被追踪
1.新增部分文件
git add 将修改的文件从工作区添加到缓存区 ##相当于VScode中source control中change的+
-可以使用git add .添加全部修改 也可以是用git add [文件夹/名]添加指定的
git status 查询当前工作目录的详细状态:包括准备提交的文件,未暂存的文件
2.提交变更 / 建立版本
git commit
git commit -m "版本记录的说明文字" ##相当于在source control中文本框添加描述文字后点commit
git log 查询版本的历史记录
git log -10 通过一个減号与一个数字,就可以限定输出最近几笔记录
git merge [被融合的分支名] 将被融合分支融合进当前分支
3.指定远程上游分支
git push --set-upstream origin [分支名]
4.上传到远程仓库
git push origin [分支名]
描述:回退之前的提交版本
1.输入指令Git log会查看提交历史 (工作区向本地仓库提交的版本,仅发生在自己电脑
;回退也只是在本地提交的历史中回退。)
2.找到并复制你要的commit hash值(图中蓝色线条所指)
3.输入指令git reset --hard 45c00a6924d2cd8781df1a2f21df17accaa442c3(commit hash 值)
git reset 从缓存区恢复到工作区
git reset --hard & git reset --soft & git reset --mixed 的区别
hard -> 工作区、暂存区、commit 同时回滚
soft -> 保留工作目录、暂存区
mixed -> 保留工作目录
描述:将当前分支a的修改暂存 然后切换分支b做另外分支b的修改 然后返回分支a取回暂存代码继续修改
git stash 将当前文件暂存
git stash pop取回上次暂存的文件
描述:.gitignore的使用和将加入.gitignore的文件强制push上去
这个文件中的push时自动忽略
并且想要强制上传用git push -force 文件名