用多少眼泪才能让你相信 发表于 2024-8-14 21:35:16

【git指南】git 本地代码版本控制

git 本地代码版本控制

   可以来看我的这篇文章 基于 VScode 的 git 利用指南,获取更加详细的内容。
​ 下面先容在 vscode 中如何利用 git 对本地代码进行版本控制。可以查看官网先容来得到更详细的内容。
1 设置全局 Git 用户名和邮箱

若是第一次利用 git 的话,请先配置全局的用户名和邮箱(将以下命令用户名邮箱替换)。
git config --global user.name "Your Name"
git config --global user.email "youremail@yourdomain.com"
配置完成后,可以通过以下命令确认这些信息:
git config --list
user.name=Your Name
user.email=youremail@yourdomain.com
2 初始化仓库

​ git 版本控制是控制 某一个文件夹 下的全部文件。
​ 利用 VScode 打开想要控制的文件地点的文件夹, 左侧有个源代码管理的插件(没有的在VScode扩展中下载即可),打开后点击初始化仓库,完成对git 仓库的初始化。
https://i-blog.csdnimg.cn/blog_migrate/ef4e3fdac37ac3bf92be59da348ec7f8.png
​ 初始化仓库先容后,源代码管理插件变成如下图所示,git 会在该文件夹下创建 .git 的隐蔽文件夹,用来存储 git 版本信息。
https://i-blog.csdnimg.cn/blog_migrate/8e97b07dae5d647604abe66d1083eb74.png
3 提交文件


[*] 点击+键,即可将文件追踪,暂存文件更改。
https://i-blog.csdnimg.cn/blog_migrate/a2c7f9dfb72e8e1d38b5e7394555273f.png
[*] 暂存更改文件的状态,将从U (Untracked) 代表文件是是 未跟踪 的,变成 A (Added),代表文件是 新增 的,还未提交。
https://i-blog.csdnimg.cn/blog_migrate/355020709bedafe30cfc65cf526232ea.png
[*] 在 消息栏 输入本次提交的注释,点击提交即完成文件的提交。必须要在消息栏填写内容才能提交,消息栏是用来形貌你的代码变化的目的和内容的地方,方便进行浏览版本差异。
https://i-blog.csdnimg.cn/blog_migrate/829173180f362c325b7d642c7529d85c.png
[*] 若未在消息栏填写内容,就点击了提交按键,将会蹦出一个COMMIT_EDITMSG文件,在文件第一行填写注释内容,保存并关闭,也可完成文件的提交。
https://i-blog.csdnimg.cn/blog_migrate/07015ab68d2ebab8006dd5c3164402a7.png
   VScode文件右侧字母寄义:
https://i-blog.csdnimg.cn/blog_migrate/cb72afc89685a86ce45968a8bdd0f3cc.png


[*]A:A是Added的缩写。表示这个文件是新增的,它在本地仓库中不存在,但是已经被添加到暂存区,等待提交。
[*]U:U是Untracked的缩写。表示这个文件是未跟踪的,它在本地仓库中不存在,也没有被添加到暂存区,需要你手动添加或忽略。
[*]M:M是Modified的缩写。表示这个文件是被修改的,它在本地仓库中存在,但是已经被修改。
[*]D:D是Deleted的缩写。表示这个文件是被删除的,它在本地仓库中存在,但是已经被删除。
[*]1,M:表示这个文件有一个错误,背面的字母代表该文件的状态。
4 文件修改

​ 当对已上传的文件进行修改过后,修改部分代码会左侧会有颜色提示,绿色表示这里是新加的代码,红色代表此处代码被删除,蓝色代表此处代码被修改。

[*] 源代码管理栏将文件的状态改为M(Modified),表示文件是被修改的。
https://i-blog.csdnimg.cn/blog_migrate/78752af085d8b35f4b973c00edbc8a95.png
[*] 点击+号,在消息框输入版本信息,点击提交,即完成了文件的修改,该修改版本将会被 git 记载。
https://i-blog.csdnimg.cn/blog_migrate/60c7b21d83c73f2a6e18a1f30a5649ff.png
[*] 点击顶端 view history 按钮,即可看见全部上传的版本(没有可以去扩展安装Git History)。
https://i-blog.csdnimg.cn/blog_migrate/4c6a8a52280d59a881a011c31953b16d.png
[*] 在Git History界面可以看见全部汗青版本信息,左侧有版本名称即为你添加的注释(可以雷同)和上传时间,右侧有版本的hash码(不同),是版本的唯一标识符。
https://i-blog.csdnimg.cn/blog_migrate/30c0c86adce6600c8ed9c026630984a9.png
[*] 点击版本,可以看到该版本相比上一版本进行了哪些操纵。可以看到test7版本,相比于test6版本,添加了test_02.txt、删除了text_03.h,修改了test.c。
https://i-blog.csdnimg.cn/blog_migrate/56d137fb23e145c5dccbdae91e64afac.png

[*] 点击 view,可以看到该版本的该文件的内容。
https://i-blog.csdnimg.cn/blog_migrate/4f40cce9bbeda611641f7ca8f9413465.png
[*] 点击 Workspace,可以看到该版本与 当前工作空间内容 的对比。
https://i-blog.csdnimg.cn/blog_migrate/bca54a83133cf16a023a0f51ed215eff.png
[*] 点击 Previous ,可以看到该版本与 上一版本文件内容 的对比。
https://i-blog.csdnimg.cn/blog_migrate/44c4a6882d616d62d551dc1321379952.png
[*] 点击 History ,可以看到该文件 全部被修改的汗青版本。
https://i-blog.csdnimg.cn/blog_migrate/fd4fbf9cebeb63c9aed4652a142ff1ec.png

5 版本对比

当点击右侧时间线,可以对比提交的版本与当前版本的区别。左侧为对比的版本,右侧为当前版本,红色为当前版本删除的部分,绿色为当前版本添加的部分。
https://i-blog.csdnimg.cn/blog_migrate/5044fa80185d186e474f417cfee5577c.png
6 版本回退

​ 版本回退分为 硬回退(Hard reset) 和 软回退(Soft reset) 。它们的区别在于它们对工作区、暂存区和版本库的影响不同。
模式HEAD暂存区工作区Soft移动到指定提交不变不变Hard移动到指定提交重置为指定提交重置为指定提交
[*] 软回退(Soft reset)
软回退模式 只会移动HEAD指针,不会修改暂存区和工作区的内容,这意味着你可以 **打消近来的提交并保存你的修改 **。
在Git History页面中,点击要回退的版本的右侧的 Soft 按钮,进行版本回退。
https://i-blog.csdnimg.cn/blog_migrate/a2ff11faf87385be494ffa6b6c32d748.png
提示框提示 “全部受影响的文件将被合并并保存在本地工作区中” ,选择 OK ,确定回退。
https://i-blog.csdnimg.cn/blog_migrate/5a2ebbf541e82a79f1dd2d3c20d0b61d.png
此时,版本回退到了你选择的版本,但是本地文件仍为回退前的版本。
https://i-blog.csdnimg.cn/blog_migrate/5f95f38f2568d8e6c42c381974a43893.png
[*] 硬回退(Hard reset)
硬回退模式 会移动HEAD指针,并重置暂存区和工作区为指定提交的内容,这意味着你可以 **完全丢弃某个提交及其后续的全部修改 **。
在 Git History 页面中,点击要回退的版本的右侧的 Hard 按钮,进行版本回退。
https://i-blog.csdnimg.cn/blog_migrate/71246ee460b751521afde51166f74ad4.png
提示框提示"这对您当前的工作集是不可逆的。未提交的本地文件将被删除",选择 OK ,确定回退。
https://i-blog.csdnimg.cn/blog_migrate/e64193661d7c7ac9bc3b5cfad8d9f6c3.png
此时,版本回退到你选择的版本,并且你的本地文件也回退到选择的版本。
https://i-blog.csdnimg.cn/blog_migrate/e2e7e95cf5c2367b7eccbb0bcb85546b.png
       硬回退不可逆,建议确定好要回退版本再利用。
7 版天职支


[*] 点击右侧 Branch 按钮,创建分支。
https://i-blog.csdnimg.cn/blog_migrate/cabcd4777c3a5bd2959972f8aa443853.png
[*] 在提升框中写分支的名字,点击 OK ,创建分支。
https://i-blog.csdnimg.cn/blog_migrate/8d6f7b1003d8c8ba34f40b9d98391a60.png
[*] 创建完成后,看见右侧绿色 test6_1 ,代表当前分组位置,main 代表主分支位置。
https://i-blog.csdnimg.cn/blog_migrate/5756867851e2c0a3fadee5540748a6b2.png
[*] 点击新创建的 test6_1 分支,在弹出的提示窗选择 OK 切换到新的分支(条件是当前文件未做修改)。
https://i-blog.csdnimg.cn/blog_migrate/8e015212c649fe8f196a3672d8662ce4.png
也可以在 VScode 左下角进行分支转换,点击 main ,选择你要切换的分支,进行切换。
https://i-blog.csdnimg.cn/blog_migrate/948214af77f56de5fa216b9a8959666b.png
[*] 顶部弹出弹窗,点击要切换的分支,进行分支切换。
https://i-blog.csdnimg.cn/blog_migrate/1caa77e6239c212c423f806fe00a751e.png
[*] 与在主分支提交雷同,在其他分支也是再消息栏填写版本内容后提交。
https://i-blog.csdnimg.cn/blog_migrate/4e539c17bbb98f247a3efd1e1ce70e3f.png
[*] 分支合并:
切换到主分支,点击 源代码管理 的右上角三个点,选择分支-合并。
https://i-blog.csdnimg.cn/blog_migrate/04fad061bcb0b169df96c88c903710f2.png
在顶部选择你要合并的分支。
https://i-blog.csdnimg.cn/blog_migrate/ae29ee7125b45a43f677e3b61a5e723f.png
分支合并乐成,文件会有冲突存在,此时需要对有冲突文件进行编辑。
https://i-blog.csdnimg.cn/blog_migrate/2065429eee783611e0b20d3333746967.png
合并更改有三种方式:

[*]接纳当前更改:保存你地点的分支的修改,忽略另一个分支的修改。
[*]接纳传入的更改:保存另一个分支的修改,忽略你地点的分支的修改。
[*]保存双方更改:同时保存两个分支的修改,让你自己再次编辑文件,选择最终的修改。

8 版本合并

​ 版本合并一直都是很困难的,需要一步一步来查看版本的区别,选择合适的合并方式。

[*] 可以在 合并编辑器 中查看 当前 文件内容、传入 文件内容,以及合并后的 结果 。
https://i-blog.csdnimg.cn/blog_migrate/f11ae9e9052c7a7c35affbe323f90f10.png
[*] 每每我们需要看到最原始的版本,才能方便我们确定合并时,哪些是我们要的,哪些是不要的。在合并编辑器中,可以点击右上角的三个点,选择显示基顶部。
https://i-blog.csdnimg.cn/blog_migrate/2d10eff89dc17dd52ff79654cffc400d.png
[*] 此时,我们得到了 基础 版本,与之前三个版本同框的环境,方便确定合并内容。
https://i-blog.csdnimg.cn/blog_migrate/fb4d34fe3dd4a07f9624e40fca4ad20e.png
可以选择 接受当前 ,接受传入,或者不做更改,最后选择完成合并。
[*] 当你不想进行合并时,在顶部输入>Git: Abort Merge ,选择取消合并。
https://i-blog.csdnimg.cn/blog_migrate/c415d69c99ca33030a5553de32145858.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【git指南】git 本地代码版本控制