VScode中使用git进行版本控制

2023-05-16

VScode中使用git进行版本控制

  • 一、安装与配置
  • 二、初始化和提交本地仓库
  • 三、提交到远程仓库
  • 四、克隆和拉取
    • 1. 克隆
    • 2. 拉取
  • 五、修改后的提交
  • 六、免密提交
  • 七、其他命令
    • 1. 撤销
    • 2. Git 分支命令
    • 3. 暂时保存更改
    • 4. 同时提交多个仓库

一、安装与配置

  • 安装命令

    sudo apt-get install git
    
  • 查看版本

    git --version
    
  • 配置提交人姓名:

    git config --global user.name 提交人姓名
    
  • 配置提交人邮箱:

    git config --global user.email 提交人邮箱
    
  • 查看git配置信息:

    git config --list
    

    在这里插入图片描述

二、初始化和提交本地仓库

  1. 进入目标文件夹

    cd /home/ied/vue/03_vuecli
    
  2. 初始化git仓库:

    git init
    

    在这里插入图片描述

  3. 查看文件状态:

    git status
    
  4. 追踪文件,跟踪所有文件git add .

    git add 文件列表
    

    在这里插入图片描述

  5. 向本地仓库中提交代码:

    git commit -m 提交信息
    

    在这里插入图片描述

  6. 查看提交记录:

    git log
    

三、提交到远程仓库

  1. 查看分支:

    git branch
    
  2. 给远程仓库取个简单的别名(常用第一步骤):git remote add 远程仓库地址别名 远程仓库地址。例:

    git remote add 名字 https://地址 
    
  3. 让git记住地址与分支(-u 记住推送地址与分支,下次推送只需要输入 git push 即可)(常用第二步骤):git push -u 远程仓库地址别名 分支名称

    # 第一次提交
    git push -u 名字 分支
    # 以后提交
    git push 名字 分支
    
  4. 这时候会让输入账户和密码,输入后传输完成。
    在这里插入图片描述

四、克隆和拉取

1. 克隆

  1. 克隆远程仓库到本地(本地没有该仓库):git clone 仓库地址。例:

    git clone https://地址
    

2. 拉取

拉取方式有两种,一种是 pull,拉取仓库到本地会直接覆盖原有代码。一种是 fetch-merge,拉取的时候会先保存在分支中,以供对比,确认覆盖才会覆盖原有代码。
fetch 比 pull 更安全

  1. pull
    拉取远程仓库中的最新版本(本地有该仓库):git pull 仓库别名 分支名称

    git pull 别名 分支
    
  2. fetch-merge
    拉取远程仓库中的最新版本(本地有该仓库):git fetch 仓库别名 分支名称
    拉取到本地的分支中后,进行对比:git log -p FETCH_HEADgit log -p 仓库别名/分支名称
    对比完后确认覆盖:git merge FETCH_HEADgit merge 仓库别名/分支名称

    git fetch 别名 分支
    git log -p 仓库别名/分支名称
    git merge 仓库别名/分支名称
    

vsc 可以用过 GUI 操作。
在这里插入图片描述

五、修改后的提交

  1. 当我们修改了一个文件,右侧的 git 会提示有1个文件未跟踪。
    在这里插入图片描述
  2. 点击加号添加跟踪文件,然后点击 √ 提交文件。
    在这里插入图片描述
  3. 提交文件的时候会要求输入提交信息,随便输一个就可以。
    在这里插入图片描述
  4. 点击左侧同步更改,然后输入用户密码。
    在这里插入图片描述
    在这里插入图片描述

六、免密提交

  1. 在本地,创建 ssh 密钥文件
    在这里插入图片描述

  2. 复制公钥到 github 或 gitee 上
    在这里插入图片描述

  3. 测试,出现 successfully 就说明成功。

    ssh -T git@gitee.com
    

    在这里插入图片描述

  4. 修改远程库指向为 ssh 方式

    # 查看关连远程库
    git remote -v
    
    # 删除
    git remote rm cli
    
    # 添加 ssh 方式
    git remote add cli git@gitee.com:地址
    

    在这里插入图片描述

  5. 现在提交或拉取就不需要再输入密码了

七、其他命令

1. 撤销

  • 用暂存区中的文件覆盖工作目录中的文件:

    git checkout 文件名
    
  • 将文件从暂存区中删除:

    git rm --cached 文件名
    
  • 将git仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:

    git reset --hard commitID
    

    在这里插入图片描述

2. Git 分支命令

主分支(master):第一次向 git 仓库中提交更新记录是自动产生的一个分支。
开发分支(develop):作为开发的分支,基于 master 分支创建。
功能分支(feature):作为开发具体功能的分支,基于开发分支创建。

  • 查看分支:

    git branch
    
  • 创建分支:

    git branch 分支名称
    
  • 切换分支:

    git checkout 分支名称
    
  • 合并分支:

    git merge 来源分支
    
  • 删除分支(分支被合并后才允许删除)(-D 强制删除):

    git branch -d 分支名称
    

3. 暂时保存更改

  • 存储临时改动:

    git stash
    
  • 恢复改动:

    git stash pop
    

4. 同时提交多个仓库

需求是同时提交到 gitee 和 github,但是只从 gitee 拉取。

git remote set-url --push --add 仓库地址1
git remote set-url --push --add 仓库地址2
git remote set-url --push --add ...

然后查看本地仓库 .git/config,默认只从 gitee 拉取。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VScode中使用git进行版本控制 的相关文章

  • 如何修复树与树之间的 Git 错误断开链接?

    我的事务被中断 当我再次尝试时 我遇到了空或损坏的对象错误 在另一个问题之后 我删除了所有空文件 当我运行时 git fsck full 我收到这个错误 Checking object directories 100 256 256 don
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • git - 更新 fork 的 master 并将我的分支重新建立到它之上?

    我分叉了一个 github 项目 然后将其克隆到本地 然后我在新分支中做了一些更改my github the project repo 然后我添加并提交了更改 并推送到我的 github 存储库并提交了拉取请求 所有者已收到我的请求 并希望
  • 远程测试时如何搭建git开发环境

    这似乎是一个愚蠢的问题 但我觉得我对 GIT 相当了解 但我似乎无法按照我的意愿设置我的开发环境 我要么错过了一些非常简单的东西 要么我做错了 我在我的服务器上初始化了一个裸 git 存储库 将其克隆到我的本地计算机 提交我的文件并推送到原
  • 如何将更改移出主分支

    基本问题 但这一直发生在我身上 进行更改working branch 切换到master git merge working branch git push cap deploy 到舞台 泡一杯新茶 然后我回来思考其他事情并开始做出一些改变
  • git 显示已添加到 gitignore 的文件中的更改?

    我已经将 log2 文件夹和 main js 文件添加到 gitignore 如屏幕截图所示 但即使执行后git rm cached r我仍然可以看到 git 正在检测 main js 和 log2 文件夹内文件的更改 怎么会 这些的常见问
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 致命:.git/info/refs 无效:这是一个 git 存储库吗?

    我有一个托管在 Assembla 上的 Git 存储库 我正在尝试执行以下操作 git push u origin master 我一遍又一遍地收到以下错误 fatal https url repo name git info refs n
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • 默认情况下 git merge -Xignore-space-change

    我该如何设置该选项ignore space change对于所有合并使用git config 我也许可以使用别名merge 但因为我希望该设置应用于git stash pop git stash apply git pull and git
  • Git - 创建拉取请求而不分叉

    使用 git 已经有一段时间了 关于 git pull request 有很多教程和解释 其动机是什么等等 我遇到两种情况 1 分叉 git 仓库 我查看了一些公共 git 存储库并决定我想要做出贡献 所以我 通过以下方式创建重复的存储库F
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • `git Reset HEAD file` 是否也检查该文件?

    我错误地向 git 添加了一个目录 当我按照提示操作时here https stackoverflow com questions 348170 undo git add通过执行以下操作来撤消添加git reset HEAD
  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • Git 提交失败:“请使用 -m 或 -F 选项提供消息。”

    当我键入 git commit 命令来提交文件时 我收到以下错误消息 Microsoft Visual Studio 微软 找不到命令 错误 核心编辑器 Microsoft Visual Studio 存在问题 请使用 m 或 F 选项提供
  • 带有 git Remote 的 Gem 文件在 Heroku 推送上失败

    我的 gemfile 中有以下行 gem client side validations git gt email protected cdn cgi l email protection Dakuan client side valida
  • Git difftool 未启动外部 DiffMerge 程序

    我一直遵循 戴夫的博客条目 http www davesquared net 2009 05 setting up git difftool on windows html 链接在此answer https stackoverflow co
  • 为所有子文件夹设置 git 配置值

    我知道可以设置每个存储库的配置来覆盖用户级配置 即 path to my repo gitconfig覆盖 gitconfig 是否可以设置 git 配置来覆盖给定文件夹的所有子文件夹的用户级设置 即 我有 topLevelFolder1
  • Git 在哪里存储标签?

    Git 在哪里存储标签 我执行 git tag v0 1 0 v0 10 0 v0 11 0 但目录 git refs tags是空的 Git 将这些标签存储在哪里 谢谢 它们也可以存储在 git packed refs

随机推荐

  • Android 11.0 支持exFAT文件系统

    Android 11 0 支持exFAT文件系统 U盘常见文件系统类型有FAT32 NTFS exFAT xff0c Android默认支持FAT32 一般也有NTFS类型编译选项 xff0c 但是exFAT由于版权或者其他原因 xff0c
  • repo sync遇到warning: project ‘repo‘ branch ‘stable‘ is not signed

    warning project 39 repo 39 branch 39 stable 39 is not signed This can happen on Linux and Mac I 39 ve personally experie
  • C语言单链表基本操作总结

    C语言单链表基本操作 本文是参考他人实现的C语言单链表 xff0c 对多篇博文整理的结果 xff0c 仅作为学习笔记 文末有参考出处 1 单链表定义 链表是通过一组任意的存储单元来存储线性表中的数据元素 xff0c 这些存储单元可以是连续的
  • 开源项目-类似58同城的项目启动

    已经进入编程这行已经3年 xff0c 最近想做一个自己的开源项目 xff0c 最后选来选去 xff0c 选中了类似58同城的功能的项目作为开始 下面是一些列的工作 xff0c 里面会体系我是怎样把这个项目做出来 xff0c 包括思路 技术
  • CMakeLists完整解析(一)

    CMakeLists完整解析 xff08 一 xff09 首先 xff0c 我们先通过介绍一下相关的核心概念来引入CMakeLists 1 gcc make和cmake gcc xff08 GNU Compiler Collection x
  • FreeRTOS源码分析与应用开发08:任务通知

    目录 1 概述 1 1 任务通知概念 1 2 任务通知控制结构 2 发送任务通知 2 1 任务级发送 2 2 中断级发送 2 2 1 xTaskNotifyFromISR函数 2 2 2 vTaskNotifyGiveFromISR函数 3
  • 基于ROS机器人的3D物体识别与三维重建(一) 介绍篇

    基于ROS机器人的3D物体识别与三维重建 一 xff09 介绍篇 由来 xff1a 清理电脑硬盘 xff0c 发现了当时做毕设的一些资料 xff0c 所以打算整理一下资料和代码写成专栏 xff0c 记录下当时的暗金岁月 xff0c 尽管现在
  • WIFI模块实现网络连接

    WiFi模块连接 xff0c 通过串口调试助手来配置 STA 43 连接TCP Server 1 AT 43 CWMODE DEF 61 1 工作在单station模组 xff0c 设置参数保存到flash 2 AT 43 CWJAP DE
  • 关于飞机绕地球飞行一圈的加油问题

    已知 xff1a 每个飞机只有一个油箱 xff0c 飞机之间可以相互加油 xff0c 注意是相互 xff0c 没有加油机 xff0c 一箱油可供一架飞机绕地球飞半圈 问题 xff1a 为使至少一架飞机绕地球一圈回到起飞时的飞机场 xff0c
  • 【C/C++/QT/ 移植/导入Mavlink V2.0/Mavlink V1.0教程】

    提示 xff1a 本文针对的实例是Mavlink V2 0版本 xff0c Mavlink V1 0版本其实也是类似的的步骤 xff0c 选择的mavlink库不一样而已 官方链接放在此 xff1a Install MAVLink MAVL
  • 无需修改bios即可让任意主板实现NVME启动

    使用Clover四叶草引导加载NVMe驱动 除了对BIOS的硬改之外 xff0c 还有一种更安全的软件方案 xff1a 使用Clover四叶草引导加载NVMe驱动 Clover是著名的黑苹果引导软件 xff0c 这里借用它来实现对预引导 x
  • 如何将PX4 User Guide导出为PDF

    PX4 Autopilot User Guide PDF导出 如何将PX4 User Guide导出为PDF1 工具安装安装nodejs安装ebook conver安装svgexport安装gitbook 2 输出PX4 Guide文档下载
  • CentOS7 yum安装docker失败的看过来

    背景 在百度上搜到一些前辈关于安装docker教程 xff0c 例如 xff1a 点击打开链接 但都报出找不到源的信息 xff0c 估计导致该情况往往是国内使用外国源被和谐的原因吧 解决 1 使用阿里云的yum源 cd etc yum re
  • 持续交付(CD)与持续集成(CI)

    测试基础设施是指支持自动化测试运行 测试开发 测试管理以及与研发环境集成的综合性平台 敏捷测试离不开稳定 高效 准确的基础设施 xff0c 以满足对于持续测试 持续反馈的需要 xff1b 同时 xff0c 持续集成 持续交付和 DevOps
  • 树莓派c语言串口通讯程序

    在网上搜了很多关于树莓派串口通讯的例子 xff0c 但是都是用python写的 xff0c 虽然python很有名 xff0c 而且最近也在学习这门语言 xff0c 但是还是想用c语言实现一下 xff0c 因为需要用到整套系统里 xff0c
  • 怎么阅读论文,写心得体会

    收集资料 xff1a 阅读学术论文的心得体会 xff01 如何阅读学术论文 和上一篇类似大牛写论文的心得几年的写论文和审稿心得 文献阅读心得体会格式 xff1a 1 看论文题目 xff0c 做出论文类别判别 新理论 新方法 解决新问题 最高
  • 了解什么是枚举(enumeration)

    1 枚举是一组常量的集合 还可以看成包含有限特定的对象 2 自定义枚举的步骤 xff1a 将构造器私有化private将get方法拿掉在类的内部直接创建固定的对象 xff0c 比如 xff1a public static Season SP
  • python学习三十八-九天(python程序中进程的操作)

    主要内容 python的multiprocess模块和用法 在python程序中的进程操作 之前我们已经了解了很多进程相关的理论知识 xff0c 了解进程是什么应该不再困难了 xff0c 刚刚我们已经了解了 xff0c 运行中的程序就是一个
  • 电脑开机安装流氓软件、弹广告处理办法

    今天处理了一台开机自动安装流氓软件的电脑 xff0c 而且还弹广告 现在写下处理过程 文章目录 一 卸载软件 xff08 1 xff09 控制面板卸载 xff08 2 xff09 安装路径卸载 二 禁用任务计划程序三 删除软件安装包四 修改
  • VScode中使用git进行版本控制

    VScode中使用git进行版本控制 一 安装与配置二 初始化和提交本地仓库三 提交到远程仓库四 克隆和拉取1 克隆2 拉取 五 修改后的提交六 免密提交七 其他命令1 撤销2 Git 分支命令3 暂时保存更改4 同时提交多个仓库 一 安装