首页 > 其他分享 >Visual Studio使用Git进行代码版本管理

Visual Studio使用Git进行代码版本管理

时间:2024-08-18 10:48:20浏览次数:13  
标签:Git 仓库 代码 点击 Visual Studio Branch 推送 分支

一、Visual Studio 创建一个项目

1、在Visual Studio中创建一个项目,我创建的项目名称是"mainApi"

二、Gitee中新建仓库

1、右上角点击【个人头像】,选择【新建仓库】

2、输入对应的信息,点击【创建】

 - (1)输入仓库名称,一般与本地程序名称一致
 - (2)介绍一下该仓库是干什么的,也可以不写
 - (3)选择开源还是私有,这里自己选择就好
 - (4)选择初始化仓库,选择对应的语言
 - (5)选择【分支类型】
 - (6)点击【创建】


3、创建好之后,我们可以看见我们对应的仓库,我们复制一下HTTPS的链接,待会会使用到

三、Visual Studio中创建Git仓库

1、在"Git"中选择"创建Git仓库(G)"

 2、选择“现有远程”,在远程URL中粘贴刚刚从Gitee中复制的链接,然后点击创建并推送

3、推送成功之后,我们返回到Gitee中,刷新对应的仓库,我们就可以看见"mainApi"项目已经被推送到远程仓库了

到这里证明我们本地创建的代码已经推送到远程仓库了。

四、项目代码同步(本地与远程同步)

1、再次新建一个oaHelper.cs

 此时表示本地的代码有了一些改变,我们需要将现在最新的代码同步到远程仓库
2、编写代码完成之后,我们可以看见右边中间有一个"Git更改",点击它,填写代码功能说明,然后点击"全部提交"。

 "全部提交"只是把新的更新暂存到本地仓库,这时还需要把本地的暂存推送到远程仓库。然后点击"同步"的符号,此时会自动进行拉取以及自动合并和同步本地代码到远程仓库的操作。也就是把它理解成,拉取和推送的简化操作。例如,正常情况下,先点拉取,再点推送,要点击2次。但直接点击同步,Git 会直接帮你自动进行拉取和推送。只需要点击一次。
当出现"已成功同步传入和传出提交"的页面时,表示本地代码已经同步到远程仓库中。
3、再刷新一下Gitee中的"mainApi"仓库,我们可以看见刚刚在Visual Studio中填写的"代码功能说明",这里也表示已经将本地的代码成功推送到远程仓库中了。

五.项目代码同步操作基础

1.拉取(应当每次提交代码之前,先进行拉取操作)。

拉取和提取的区别:
拉取:如果当前存在未同步的代码,(未同步的代码指:代码已经提交到本地仓库,但未同步到远程仓库)。进行拉取的时候,刚好远程仓库也有新的代码提交,就会和本地未同步的代码进行自动合并,如果合并过程没有冲突,提示拉取完成。这个时候再点击推送,把未同步的代码推上远程仓库即可完成代码同步。如果自动合并过程,发生代码冲突,找到冲突文件,进行处理完成,即可正常推送。(未解决的冲突代码禁止强制推送)
提取:如果本地仓库存在未同步的代码,进行提取的时候,刚好远程仓库也有新的代码提交,提取下来新的代码就不会进行和本地未同步的代码进行自动合并。区别就是这点。(常用的是拉取而不是提取)
2.推送
编写代码完成后,点击 Git更改(如果没有找到,可以在vs 顶部导航栏,视图--Git更改),填写代码功能说明,点击 全部提交。全部提交只是把新的更新暂存到本地仓库,这时还需要把本地的暂存推送到远程仓库。提交完成后点击推送按钮:如果远程仓库已经有新的代码提交,但你事先没有进行拉取操作,Git会提示,先进行拉取操作后然后再推送。这个时候只需要按照提示,先拉取--再推送。就会显示推送成功的状态消息。如果远程仓库没有新的代码提交,就会直接提示推送成功的状态消息了。(按照正常的流程,一般是先拉取再推送)
3.同步
代码功能编码完成后,点击 Git更改,填写完成功能说明后,点击 全部提交。然后点击同步按钮:此时会自动进行拉取以及自动合并和同步本地代码到远程仓库的操作。也就是把它理解成,拉取和推送的简化操作。例如,正常情况下,先点拉取,再点推送,要点击2次。但直接点击同步,Git 会直接帮你自动进行拉取和推送。只需要点击一次。

 4.切换分支
4.1 创建以查看分支

 默认的情况下,拉取的远程仓库的代码下来后,本地会默认创建一个master 分支。如果我们想增加一个新的功能模块,需要新建一个分支来开发新的代码功能。(也可以直接在master 分支中开发,但一般不建议这样做)
新建分支,在vs 右下角,点击 master 分支

 点击新建分支,例如Branch_Location 就是我新建立的分支
新建分支:输入要新建分支的名称。点击创建的时候,如果勾选上 签出分支 就是Git会把当前指向的分支切换到新创建的分支上。如果不勾选上 签出分支 那么创建新的分支完成后,当前的分支还是指向 master 分支

 如何区分当前所在的分支(即当前项目指向的分支),vs 中看当前项目右下角显示的是那个分支,那么当前所在的就是那个分支。例如 显示 master。

 也可以点击 master ,列出本地所有的分支中,master 明显加粗了,也表示当前所在的分支是 master

 4.2 切换分支

vs 中点击项目右下角

然后点击要切换的分支

 切换完成后,vs 右下角显示了刚切换的分支名,即分支切换成功,当前所在的分支就是Branch_Location 了,就可以在新分支上面开发新的功能了。
5.合并分支
分支并合有2种情况,第一种,我当前在Branch_Location 上面开发新的功能,但由于功能复杂,开发周期比较久。这时远程的仓库有新的代码提交了,我想把新的代码同步到Branch_Location 上面来,以保证当前的分支永远和远程仓库的分支同步。

第二种,当前的 Branch_Location 分支上的功能已经开发完成了,需要同步到远程仓库上面去。所以就需要使用到 合并分支 的功能了。(分支合并完成后,当前的Branch_Location 分支不会自己删除,除非自己手动删除。如果新的功能开发完成,并且代码也合并上master 分支了,根据需求可删掉当前分支(Branch_Location )或保留当前分支)
第一种情况合并操作说明:
1. 当前处于 Branch_Location 分支,我要同步远程仓库的新提交代码下来,就需要切换到本地的 master 分支,进行同步操作。表示同步最新的代码到本地的 master中

 2. master 同步最新代码完成后,切换到 Branch_Location 分支,鼠标悬停在 master 分支上,右键。(注意不是直接点击,直接点击master 分支会切换分支到master 了)点击 合并到 Current Barnch (合并到当前分支) 。那么当前分支如何辩别,也在上面说过了,字体加粗的就是当前指向的分支。所以合并到当前的分支就是 Branch_Location 了,弹窗确认后,就会把最新的远程仓库代码同步到本地的 Branch_Location 了

 第二种情况合并操作说明:
1.当前处于 Branch_Location 分支,功能开发完成后。需要把新的代码功能同步到远程仓库上面去。那么首先要在当前的分支中,进行代码推送。

 2.因为刚才创建的 Branch_Location 分支只是在本地有,远程仓库还没有。所以点击推送的时候,Git会自动在远程仓库创建一个远程仓库的 Branch_Location 分支。当前本地的Branch_Location 分支新增的功能代码就会推送到远程的Branch_Location 分支了。(远程Branch_Location 分支和本地Branch_Location 分支代码是同步状态的了)

3.推送完成后,由于当前的Branch_Location 分支新的功能代码需要合并到 远程仓库(master分支) ,这时,我们把分支切换到 本地master 分支,鼠标悬停在 Branch_Location 分支上,右键。(注意不是直接点击,直接点击Branch_Location 分支会切换分支到 Branch_Location 了)然后 点击 合并到 Current Barnch (合并到当前分支) 。弹窗确认后,就会把Branch_Location 分支新的功能代码合并到本地的 master 了。

 4. 然后在master 分支点击同步,就完成了分支的同步操作了。完成这个操作后,Branch_Location 分支的新的功能代码也同步到远程仓库了,该分支可进行删除或保留看需要了。

参考链接:参考链接一   参考链接二

标签:Git,仓库,代码,点击,Visual,Studio,Branch,推送,分支
From: https://www.cnblogs.com/sgxw/p/18365375

相关文章

  • Vue 报错error:0308010C:digital envelope routines::unsupported
    目录Vue报错error:0308010C:digitalenveloperoutines::unsupported方法1.打开终端(按健win+R弹出窗口,键盘输入cmd,然后敲回车)并按照说明粘贴这些:方法2.安装vnm及node版本方法3.在项目package.json文件中增加配置Vue报错error:0308010C:digitalenveloperoutine......
  • VisualVM第二章-Threads
    ThreadsTab页介绍线程Tab页分三个部分:线程数量统计、线程取样、线程状态线程数量统计左上角统计了当前存线程数以及守护线程数。ThreadDump线程取样,点击ThreadDump可以对当前程序运行的线程进行取样分析。取样文件默认存储在临时目录:你还可以对当前dump文件另存......
  • LangGraph Studio:首款智能体(agent)IDE
    0前言LangGraphStudio提供了一个专门的智能体IDE,用于可视化、交互和调试复杂的智能体应用程序。本文来了解如何在桌面使用。LLM为新型智能体应用程序的发展铺平了道路——随这些应用程序演进,开发它们所需工具也必须不断改进。今天推出的LangGraphStudio——首款专为Agent开......
  • Github Dorisoy网盘项目
    相关github地址https://github.com/dorisoy/Dorisoy.Pan?tab=readme-ov-filemysql8sudorpm-ivhmysql80-community-release-el7-5.noarch.rpmwgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpmsudoyuminstallmysql-community-server--nogpgc......
  • Hexo-Github Actions 自动部署方案
    前阵子因为很久没有捡起来写博客,导致电脑的node环境各种版本问题,本地压根运行不起来,所以折腾了一下Hugo方案,感觉Hugo相较于Hexo还是有很多优势的,让我印象比较深的是:整个环境较为独立,不再像Hexo需要依赖电脑Node版本,各种插件需要独立版本,随着Hexo或者Node版本升......
  • 零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
    前言本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?既要又要,......
  • git
    [环境准备][安装]ubuntusudoaptinstallgit-all[查看配置项及其所在文件]gitconfig--list--show-origin[配置文件]Git自带一个gitconfig的工具来帮助设置控制Git外观和行为的配置变量/etc/gitconfig文件:包含系统上每一个用户及他们仓库的......
  • Git 高级用法详解
    文章目录Git高级用法详解标签管理1.1创建标签1.2查看标签1.3推送标签变基操作(Rebase)2.1变基的基本操作2.2处理变基时的冲突2.3交互变基解决冲突3.1合并冲突3.2变基冲突撤销更改4.1撤销未提交的更改4.2撤回已提交的更改4.3重置分支与远程仓库交互5.1添加......
  • 安装git-format-staged后,Sourcetree中提交代码报错的解决方案
    pre-commit文件中内容为:git-format-staged--formatter"swiftformatstdin--stdinpath'{}'""*.swift" 在终端中,gitcommit不会报错。Sourcetree中提交具体错误:git-format-staged或者swiftformat命令找不到。解决方案一:利用Automator(自动操作)新建一个SourceTree应......
  • 【作业练习】Git分支冲突
    使用Git模拟一个冲突,并且使用Git解决。产生冲突的原因:如果合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,假设此时我们将一个修改的子分支合并到我们修改了的主分支里面,那么此时便有可能发生冲突合并。。就会出现冲突,此时git无法替我们决定使用哪一个,必......