Git 的使用以及vscode 下git 的使用(一)

news/2024/9/18 3:11:42 标签: git, vscode, ide

1、git 和svn

Git 和 SVN 都是版本控制系统,它们都用于管理代码的版本,但它们之间有一些显著的区别:

  • 分布式 vs 集中式:Git 是一个分布式版本控制系统,这意味着每个开发者都拥有整个代码库的完整副本,并且可以在本地进行提交、分支和合并操作,不需要连接到中央服务器。SVN 是一个集中式版本控制系统,它依赖于一个中心服务器来存储代码库,开发者需要连接到这个服务器才能进行版本控制操作。
  • 离线工作:由于 Git 是分布式的,开发者可以离线工作,即在没有网络连接的情况下进行提交、分支和合并。SVN 在没有连接到中心服务器时,功能会受到限制。
  • 速度:Git 的速度通常比 SVN 快,尤其是在处理大项目和大量文件时,因为 Git 使用了一种称为“快照”的技术,只记录文件的更改,而不是整个文件的新版本。
  • 分支和合并:Git 对分支和合并的支持非常强大,它允许开发者轻松地创建、合并和删除分支。SVN 的分支和合并功能也可用,但通常被认为不如 Git 直观和高效。
  • 历史记录:Git 的历史记录是分布式的,每个开发者的本地副本都包含了完整的历史。SVN 的历史记录则存储在中心服务器上。
  • 安全性:Git 提供了更多的安全特性,如数字签名和加密。SVN 在这方面的支持相对较弱。
  • 社区和使用:Git 在开源软件开发社区中非常流行,是许多开发者首选的版本控制系统。SVN 也有广泛的使用,尤其是在企业环境中。

选择 Git 还是 SVN 取决于你的具体需求和项目的特点。Git 更适合那些需要分布式协作、频繁分支和合并以及快速版本迭代的项目。SVN 对于那些更依赖于集中式控制、简单的访问管理和不需要离线工作的项目可能更适合。

2.Git 的安装:

        Git安装_giit安装-CSDN博客。

        linux下git的安装与使用_linux 安装git-CSDN博客。

         

3.Git 的使用和原理

模拟和使用。

  1. 克隆 git clone +地址。
  2把远程代码拉到本地,自动创建了两个东西
    (1).origin 远程仓库名 git remote 查看 。
    (2)本地仓库。 生成了一个主干分支  =>  master 分支。git branch


  3.  git 工作区 :本地仓库的代码目录
      git log 查看当前分支的修改记录

  4. git status 会查看工作区已经修改但是未添加到库里面的代码。

  5. 设置信息:
     git config --global user.name 'wang jingbin'
     git config --global user.email 'wnagjingbin@163.com'

  6.修改代码之后:
    git add . 或者添加指定的文件 如git add 01.cpp 等
    git add:将工作区的代码改动,提交到暂存区里面。
    git commit -m "创建暂存区"
    git 本地仓库: git 工作区  ->git add 暂存区里面去 ->git commit 将本地仓库的改动提交到代码分支上了(master)(注意使用
    git 命令需要在.git 同级目录下才可以) --> git push   origin master:master(本地名称和远程名称一样 可以简写为
    git push origin master)  将本地仓库代码push 到远程代码分支。


  另外一个人可以使用 git pull 可以拉取更新后的代码。
git checkout  分支名 切换分支。

                                git 的使用原理图


  7.回退操作。

     (1)在添加git add . 之前:使用git checkout -- .  (fileName) 实际就是用本地仓库的代码,把当前工作区的覆盖掉。

     (2)在git add . 之后,已经把工作改动添加到暂存区了,但是在git commit 之前:使用:
      git reset HEAD (全部或者某个文件)
      可以取消暂存区域的修改。
     (3)在远程之前,在git commit -m  "" 之后。使用
       git reset --hard id(commit_id)
      每个 commit 有一个head 指针,移动了head 指针。

      git reflog 查看之前的操作。
    (4)已经通过git push origin master 了。
      方法一:git pull 拉下来最新代码,之后再重新修改更新

      方法二:在本地仓库找到修改之前的(git reset --hard id),修改重新提交。(直接修改不行,只有本地仓库领先于
      远程仓库才可以 git push origin master)。
      需要强制 git push origin master -f

                                                 git 原理图

4.vscode 下使用git

(1)当年打开本地包含.git 的文件时候,vscode git 自动打开。

(2)changes 相当于 git status 操作,查看当前哪些文件做了修改,

(3)同时,打开(xxx.working Tree)会显示两份文件,修改前后的对比和区别

这里Stage Changes 相当于git add . 操作,把工作区添加到暂存区

添添加到本地master 分支上,相当于git commit -m ""。

 点击会让你输入更信息 相当于git commit -m "" 引号内的信息。

(4)点击commit

注意此时会有一个问题,导致commit 一直再旋转,无法加到本地。 此时先保存好文件,再关掉vscode

重新打开 vscode,

打开设置 ->settings -> 搜索 use editor ->找到use editor as commit 取消勾选。即可。

 (5) 同步到gitee 或者github 远端仓库

即可 ,当然第一次需要用户名称和密码或者设置了ssh 密令,字节输入一下输入一下就好。

(6) 验证 登录到自己的gitee 或者github 查看文件是否更新。

同时git 终端操作和vscode 界面是同步的。使用vscode 界面更快,更方便一些。 


http://www.niftyadmin.cn/n/5653267.html

相关文章

15_分布式数据结构

菜鸟: 老鸟,我最近在处理大量数据的时候遇到了瓶颈,单台服务器的内存和计算能力都不够用了。你知道有什么方法可以解决这个问题吗? 老鸟: 嗯,这种情况很常见。你可以考虑使用分布式数据结构。听说过吗&a…

深入探索Go语言中的函数:匿名函数、指针参数与函数返回

1. Go语言中的函数 函数是任何编程语言中的核心元素,它们帮助我们将大型程序分解为更小的、易于管理的部分。在Go语言中,函数是通过 func 关键字定义的。理想的函数应当是独立的,完成单一任务。如果你发现某个函数正在执行多个任务&#xff…

网络安全(黑客)3个月速成手册

🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、…

用Python实现时间序列模型实战——Day 15: 时间序列模型的选择与组合

一、学习内容 1. 模型选择的标准与方法(如 AIC、BIC) 在时间序列建模中,模型的选择是非常重要的,常用的模型选择标准包括 AIC (Akaike Information Criterion) 和 BIC (Bayesian Information Criterion)。 AIC (Akaike Informat…

2.安卓逆向-初识java语言

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 上一个内容:1.安卓逆向-说明 关于java语言的介绍就不写了没啥用直接开始 首先java语言写的代码运行说明 …

计算机毕业设计Python+Spark交通流量预测 智慧城市交通大数据 交通爬虫 地铁客流量分析 大数据毕业设计 大数据毕设 深度学习 机器学习

《Spark交通预测系统》开题报告 一、研究背景与意义 随着城市化进程的加速和人口的不断增长,中国城市交通问题日益突出,主要表现为交通拥堵、交通事故频发、公共交通不足、环境污染等。这些问题不仅影响了城市居民的生活质量,还制约了城市经…

Ubuntu Python与GitHub API 交互,获取仓库更新信息

1. 获取 GitHub 个人访问令牌 登录 GitHub ,首先使用帐户登录 GitHub 在 GitHub 页面右上角点击头像,然后选择 “Settings” 在左侧菜单栏滚动到最下方,找到并点击 “Developer settings” 在 “Developer settings” 页面中&#xff0c…

MongoDB高可用和分片集群知识

一、MongoDB实现高可用 1. MongoDB复制集(Replication Set) 在实际生产中,MongoDB要实现高可用,以免MongoDB单实例挂了,服务不可用。MongoDB实现高可用是以MongoDB复制集的形式实现,和集群部署概念相同,MongoDB复制集…