2020-08-18_git clone为什么只能在c盘clone 在其他盘不行-程序员宅基地

技术标签: 嵌入式  

转载:https://bbs.huaweicloud.com/blogs/178565

华为云连接:https://auth.huaweicloud.com/authui/login.html?id=hw_hanchen#/login

【摘要】 前言:  俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、GithubDesktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持Windows和Mac,并且界面十分的精美简洁,...

前言:

  俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持Windows和Mac,并且界面十分的精美简洁,大大的简化了开发者与代码库之间的Git操作方式。该篇文章主要是对日常开发中使用SourceTree可视化管理工具的一些常用操作进行详细讲解。

SourceTree | Github Desktop | TortoiseGit 可视化管理工具对比:

 https://blog.csdn.net/hmllittlekoi/article/details/104504406/

SourceTree介绍和Atlassian账号注册和登录教程:

https://www.cnblogs.com/Can-daydayup/p/13128511.html

连接Gitee or GitHub,获取代码:

注意:这里介绍的是使用SSH协议获取关联远程仓库的代码,大家也可以直接使用过HTTPS协议的方式直接输入账号密码获取关联代码!

全面概述Gitee和GitHub生成/添加SSH公钥:

https://www.cnblogs.com/Can-daydayup/p/13063280.html

在SourceTree中添加SSH密钥:

工具=>选择:

 

 

添加SSH密钥位置:C:\Users\xxxxx\.ssh\id_rsa.pub:

SSH客户端选择OpenSSH:

 

Clone对应托管平台仓库(以Gitee为例):

打开码云,找到自己需要Clone的仓库!

 

SourceTree设置默认工作目录:

  由上面我们可以发现每次Clone克隆项目的时候,克隆下来的项目默认存储位置都是在C盘,因此每次都需要我们去选择项目存放的路径,作为一个喜欢偷懒的人而言当然不喜欢这种方式啦,因此我们可以设置一个默认的项目存储位置。

设置SourceTree默认项目目录:

点击工具=>选项=>一般=>找到项目目录设置Clone项目默认存储的位置

 

SourceTree代码提交:

1.首先切换到需要修改功能代码所在的分支:

 

 

2.将修改的代码提交到暂存区:

3.将暂存区中的代码提交到本地代码仓库:

注意:多人同时开发项目的时候,不推荐默认选中立即推送变更到origin/develop,避免一些不必要的麻烦!

 4.代码拉取更新本地代码库,并将代码推送到远程仓库:

 

 勾选需要推送的分支,点击推送到远程分支:

 

代码成功推送到远程代码库:

5.在Gitee中查看推送结果:

SourceTree分支切换,新建,合并:

1.分支切换:

双击切换:

 

单击鼠标右键切换:

2.新建分支:

注意:在新建分支时,我们需要在哪个主分支的基础上新建分支必须先要切换到对应的主分支才能到该主分支上创建分支,如下我们要在master分支上创建一个feature-0613分支:

 

3.合并分支:

注意:在合并代码之前我们都需要将需要合并的分支拉取到最新状态(**避免覆盖别人的代码,或者丢失一些重要文件)!!!!!

 

在master分支上点击右键,选择合并feature-0613至当前分支即可进行合并:

 

分支合并成功:

SourceTree代码冲突解决:

首先我们需要制造一个提交文件遇到冲突的情景:

在SoureceTree中在Clone一个新项目,命名为pingrixuexilianxi2,如下图所示:

我们以项目中的【代码合并冲突测试.txt】文件为例:

 

在pingrixuexilianxi2中添加内容,并提交到远程代码库,添加的内容如下:

 

在pingrixuexilianxi中添加内容,提交代码(不选择立即推送变更到origin/master),拉取代码即会遇到冲突:

 

 

 

冲突文件中的内容:

 

直接打开冲突文件手动解决冲突:

由下面的冲突文件中的冲突内容我们了解到:

<<<<<<< HEAD
6月19日 pingrixuexilianxi添加了内容
=======
6月18日 pingrixuexilianxi2修改了这个文件哦
>>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5

 

<<<<<<< HEAD到 =======里面的【6月19日 pingrixuexilianxi添加了内容】是自己刚才的Commit提交的内容

=======到 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5里面的【6月18日 pingrixuexilianxi2修改了这个文件哦】是远程代码库更新的内容(即为pingrixuexilianxi2本地代码库推送修改内容)。

 

手动冲突解决方法:

  根据项目需求删除不需要的代码就行了,假如都需要的话我们只需要把 <<<<<<< HEAD=======     >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都删掉冲突就解决了(注意,在项目中最后这些符号都不能存在,否则可能会报异常)。

 

最后将冲突文件标记为已解决,提交到远程仓库:

 

采用外部文本文件对比工具Beyond Compare解决冲突:

SourceTree配置文本文件对比工具Beyond Compare:

工具=>选项=>比较:

 

使用Beyond Compare解决冲突:

Beyond Compare使用技巧:

官方全面教程:https://www.beyondcompare.cc/jiqiao/

 

SourceTree打开外部和合并工具:

注意:第一次启动Beynod Compare软件需要一会时间,请耐心等待:

 

 

Beynod Compare进行冲突合并:

 

点击保存文件后关闭Beynod Compare工具,SourceTree中的冲突就解决了,在SourceTree中我们会发现多了一个 .orig 的文件。接着选中那个.orig文件,单击右键 => 移除,最后我们推送到远程代码库即可:

 

Sourcetree中的基本名词说明:

克隆/新建(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库。

提交(commit):将暂存区文件上传到本地代码仓库。

推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致(十分注意:这样你才能达到和别人最新代码同步的状态,同时也能够规避很多不必要的问题)。

拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作(git pull=git fetch+git merge)。

获取(fetch):从远程仓库获取信息并同步至本地仓库。

分支(branch):创建/修改/删除分枝。

合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消。

贮藏(git stash):保存工作现场。

丢弃(Discard):丢弃更改,恢复文件改动/重置所有改动,即将已暂存的文件丢回未暂存的文件。

标签(tag):给项目增添标签。

工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分支。

终端(terminal):可以输入git命令行。

每次拉取和推送的时候不用每次输入密码的命令行:git config credential.helper osxkeychain sourcetree。

检出(checkout):切换不同分支。

添加(add):添加文件到缓存区。

移除(remove):移除文件至缓存区。

重置(reset):回到最近添加(add)/提交(commit)状态。

Git分布式版本控制器常用命令和使用:

当然作为一个有逼格的程序员, 一些常用的命令我们还是需要了解和掌握的,详情可参考我之前写过的文章:

https://www.cnblogs.com/Can-daydayup/p/10134733.html

 

文章来源: www.cnblogs.com,作者:追逐时光者,版权归原作者所有,如需转载,请联系作者。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40593838/article/details/108075759

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法