一、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