当前位置: 首页 > news >正文

VS中使用git

一、克隆远程仓库已有分支

  当作为一个新成员参与别人已经建好的项目中,此时远程已经有有一些分支了。

1、克隆

从远程下载代码步骤如下:打开VS,切换到“团队资源管理器”,点上方“主页”右侧的下拉三角,选择项目->连接到团队项目,然后选择“克隆”,填入Git的Remote Url和要克隆到的本地目录(该目录必须为空),然后点克隆按钮即可将项目克隆到本地。

     

2、本地拉取远程的一个新分支

  只需单击同步里面的 提取。

 

 常见名词解释

拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger)

获取/提取(Fetch):从远程版本库获得最新版本

合并(Meger):将两个版本库进行合并操作

提交(Commit):将所做的更改,存入本地暂存库

推送(Push):将所做的更改,存入远程版本库

同步(Pull+Push):先将远程库拉取,再将本地库推送到远程库,相当于(Pull+Push)

变基到(Switch):切换分支(双击即可切换)

 

git  pull     从远程拉取最新版本 到本地  自动合并 merge            git pull origin master。。即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

git  fetch   从远程获取最新版本 到本地   不会自动合并 merge    git fetch  origin master       git log  -p master ../origin/master     git merge orgin/master

实际使用中  使用git fetch 更安全    在merge之前可以看清楚 更新情况  再决定是否合并

 

二、初建项目并push到github上

1、在远程Github等服务器新建一个空Repositories,这里起名GitTest。

打开VS2013,新建项目GitTestProject,右键单击解决方案,选择“将解决方案添加到源代码管理器”,选择Git

同步,推送到远程仓库

 

三、提交代码

  暂存想提交的文件,不想提交的右键暂存。提交临时文件,拉取再推送。

 有冲突时,可以点击冲突,然后对比文件,选择使用远程的代码还是本地代码,然后再次提交。

四、忽略文件

  把某些目录或文件加入忽略规则,后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

那么解决方法是先把本地缓存删除(改变成未被追踪状态),

例如: git checkout 文件名

不想提交的文件,最好一开始提交 之时 就不要提交到远程。

参考:如何使git忽略某些文件或文件夹

五、还原修改

  如果提交了一次代码到远程,然后发现想撤销上次提交,即想要还原修改,转到修改还原的代码处,单击方法引用处的

在右侧即可点还原操作。然后单击同步,进行同步到远程即可

六、常见问题

1、Git Push Error: dst refspec xxxx(分支号) matches more than one.

最近工作中遇到这样的问题,使用的是Git做版本控制,在PUSH代码的时候,出现如下错误:

  1. error: dst refspec XXX matches more than one.
  2. error: failed to push some refs to 'git@xxx.xx:xxx.git'

初步一看,还想,怎么可能,出现两个相同的分支?表示很不解。
查看Git服务器上的分支也只有一个指定名称的分支,最后无意间发现服务器上有一个和分支名称相同的tag,按照项目组的习惯,tag一般都是以时间作为名称的,这里怎么会出现这个,好奇中删掉它重试,果然,Git把tag和分支搞在一起了,tag名称不能和分支名称完全相同,不知道这是Git个别版本的bug还是就这样机制。

2、git中进入带有空格的目录下的解决办法

   比如,要进入Program Files目录下,有两种方法:

  • 将Program Files目录用引号引起来。

  $ cd "Program Files"

  • 将空格处使用空格引号

  $ cd Program" "Files

 

 参考:

VS2013中使用Git建立源代码管理、

VS2015 Git 源码管理工具简单入门

使用Git进行协同开发、Git 工作流程

 

转载于:https://www.cnblogs.com/peterYong/p/9774941.html

相关文章:

  • 开始关注D语言
  • 4、Linux常用命令
  • 跨域的环境下 onbeforunload事件
  • Kubernetes哪一点最打动你?或者,它发布过的哪一项特性让你认为最厉害?
  • 老外写的正则表达式的类
  • Cookie和Session
  • 浙江金华 图论整理
  • [转]成功创业家的心理
  • linux安装jdk
  • 经典英语摘录
  • Message Loop 原理及应用
  • JVM内存区域划分
  • [转载]我的个人信息雷达——580k使用手记
  • LeetCode:平衡二叉树【110】
  • 常用的shell脚本
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • AWS实战 - 利用IAM对S3做访问控制
  • C++类的相互关联
  • canvas 高仿 Apple Watch 表盘
  • CSS实用技巧
  • JavaScript学习总结——原型
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Joomla 2.x, 3.x useful code cheatsheet
  • mongodb--安装和初步使用教程
  • Python - 闭包Closure
  • Rancher如何对接Ceph-RBD块存储
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • sublime配置文件
  • Terraform入门 - 1. 安装Terraform
  • 爱情 北京女病人
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 分布式事物理论与实践
  • 如何编写一个可升级的智能合约
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 主流的CSS水平和垂直居中技术大全
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​第20课 在Android Native开发中加入新的C++类
  • # centos7下FFmpeg环境部署记录
  • # 计算机视觉入门
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (23)Linux的软硬连接
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十六)串口UART
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .gitignore
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈