git之sourceTree操作流程

1x.sourceTree的使用流程 

12.Git管理工具对比(GitBash、EGit、SourceTree) 

11.SourceTree使用SSH克隆码云项目

======

1x.sourceTree的使用流程 

1.      安装Git

下载地址:点击打开链接

安装指南:默认选项即可

2.      安装TortoiseGit

下载地址:点击打开链接

安装指南:点击打开链接

11.win系统git的安装和环境变量配置;

windows下生成github ssh公钥--ssh克隆方式提交代码?

最近公司准备用coding了,以前都是直接用的github,但是有时候会出现连不上的状况,所以就转移到了国内的coding,不得不说,这个确定挺好用的,而且现在还有了更高级的功能,webIDE,能够在线编辑你的代码,是不是很爽?当然,使用它之前第一步就是要配置SSH key的公钥,下面说下windows如何生成ssh公钥:

1. 安装git,从程序目录打开 "Git Bash" 或者直接用git shell,github自带的工具

2. 键入命令:ssh-keygen -t rsa -C "[email protected]"

"[email protected]"是github账号,回车;

3. 提醒你输入key的名称,接着提醒你输入密码,输入如id_rsa(可以选择什么都不输入,一路回车,我们可以敲入三个回车,默认配置;

文件就会直接生成在C:\Documents and Settings\Administrator\.ssh\ 目录下)

4. 在C:\Documents and Settings\Administrator\下产生两个文件:id_rsa和id_rsa.pub

5. 把4中生成的密钥文件复制到C:\Documents and Settings\Administrator\.ssh\ 目 录下。

6. 用记事本打开id_rsa.pub文件,复制内容,在github.com的网站上到ssh密钥管理页面,添加新公钥,随便取个名字,内容粘贴刚

才复制的内容。

7. ^_^ OK了

需要注意步骤2中产生的密钥文件在当前用户的根目录,必须把这两个文件放到当前用户目录的“.ssh”目录下才能生效。

在windows中只能在命令行下输入创建"."开头的文件夹。命令为 mkdir .ssh

-----

将SSH配置到Github中

进入生成的SSH目录 : C:\Documents and Settings\Administrator.ssh (或者 C:\Users\自己电脑用户名.ssh)中, 使用记事本打开 id_rsa.pub文件, 将该文件中的内容复制;

进入GitHub网站 : 登录GitHub,选择左侧的SSH and GPG keys选项;

itle和Keys(将上一步操作得到的SSH-Key复制进去 :)输入完成后,点击Add SSH key

验证是否配置成功:ssh -T [email protected]

验证时可能让你输入YES:

成功提示:如果出现Hi XXXX! You’ve successfully authenticated, but GitHub does not provide shell access. 就说明配置成功, 可以连接上GitHub了!

12.sourceTree的安装和配置(内置git插件);

sourceTree克隆代码方式? --https和ssh克隆方式区别:

创建本地SSH(一种传输代码的方法,速度快安全)。(也可以选择HTTPS传输)。

.解释:

1.ssh-keygen 是公钥私钥的非对称加密方式:

1.1.公钥:用于向外发布,任何人都能获取。

1.2.私钥:要自己保存,切勿给别人

2.公钥私钥加解密的原理

2.1.客户端把自己的公钥存放到要链接的远程主机上(相当于我们把自己的 id_rsa.pub 存放到 git 服务器上)

2.2.客户端要链接远程主机的时候,远程主机会向客户的发送一条随机的字符串,客户的收到字符串之后使用自己的私钥对字符串加密然后发送到远程主机,远程主机根据自己存放的公钥对这个字符串进行解密,如果解密成功证明客户端是可信的,直接允许登录,不在要求登录。

13.sourceTree克隆github代码或者码云代码报错现象?

错误一:git---如何解决The authenticity of host ‘gitee.com (120.55.226.24)‘ can‘t be established

错误二:Git使用错误收集:-ssh agent失败 错误代码-1;ssh-agent 失败,错误代码:-1:

Permission denied (publickey)错误: git远程库与本地库同步 git设置ssh公钥 Bad escape character ‘ygen‘

12.Git管理工具对比(GitBash、EGit、SourceTree)?

Git管理工具对比(GitBash、EGit、SourceTree)

GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐。

EGit是Eclipse的Git插件,最为纠结的一个软件,因为开发时直操作很方便,尤其是有svn开发情节的人更热衷于这样,不过EGit中有很多bug和不人性化的东西,让人吐血,所以

一句话EGit并不能解决所有Git问题,开发时必须部分依赖于其他Git管理工具。一会一一列举。

SourceTree是最近应用的一个软件,一句话概括,既有GitBash的命令行,又有EGit的图形化管理,用户界面很人性化,Eclipse+GitBash完全可以应付版本管理。

那么下面我结合项目中开发遇到的问题一一讲解一下:

<一>EGit之我见:

EGit最大的好处是集成在eclipse里面,对于代码修改后提交很方便,其中我最常使用的部分是:

(1)简单的Commit,pull,push。

(2)Git repository(看资源库视图)(包括新建分支,切分支,合并分支)

(3)工程reset hard(强制覆盖本地版本),一些特殊情况会有问题。

(4)工程checkout到某一个分支,可以看当时的文件。

(5)工程show in history (查看工程变更历史),没有时分秒,很不爽。

其他的功能我用的不多,因为EGit确实有很多bug,犯过血淋淋的错误。

这里解释一下,为什么第一条我要加上”简单的”,因为很多时候没有pull下来,或者没有push上去,提示的信息很粗,有时候甚至误以为提交,发现过很多问题,所以如果确定现在没人和你同时改同一个文件,用EGit还是很爽的。

<二>GitBash之我见:

一般我主要通过命令行进行pull push 还有 status的操作,这个详见我前一篇文章

Git Bash+EGit在项目中配合使用最常用方法总结》,命令行用好了很是很不错的,除了那种需要手写文件名的时候,比较不爽,一两个还可以,多了就吐血了。

<三>SourceTree之我见:

这个是我最近才发现了一个很好的工具SourceTree,可以说SourceTree是EGit和GitBash的合体,既有图形化界面又有git命令行。

(1)基本的commit、pull、push都拥有,而且一旦发生错误的时候提示很准确。

(2)基本的分支管理业有,最挫的Egit删除远程分支是假删除,SourceTree完美解决了这个问题。

(3)拥有EGit中的reset(重置)和checkout(签出)两大功能,而且更加稳定。最令我怀疑的EGit的reset hard也有报错的时候,哎。SourceTree还是很稳定的。

(4) 那么最近用SourceTree,发现了一个很强大的功能,就是“丢弃”这个功能,和checkout其实原理是一样的。不过图形化界面肯定比较方便了。这里具体解释一下这个功能:

换句话说,你改了一批文件,如果想提交一部分,保留一部分,无疑命令行最麻烦。

然后你不满足,其中有几个文件你还想回滚,不想改了。那么SourceTree最容易。

这里需要注意一下命令行中checkout 是指未add的,那么可以回滚到最近的线上的commit状态。如果add之后又修改,那么会回滚到add之后的状态。

这一个原理,在Source体现的更明显,如下:

A. 首先我先将修改后的personRiskBase.jsp拖到缓存区中(1)。

图(1)

B. 然后再次修改,发现下面的工作区中也有这个页面了(图2)。

(图2)

C. 现在就可以对此文件进行丢弃了,如果将下面文件丢弃(checkout),那么该文件将变为缓冲区中的文件,如果将缓冲区文件丢弃,实际上回到了最近的commit版本了(reset操作)。

这里注意,如果该文件commit了,那么checkout实际上回不到commit之前的版本的,需要reset。下面详细介绍一下reset命令。

(5) 对于reset功能的应用。这里先普及一下Git理念的事:

A. 明确一点,每一次commit都是对应着一批操作而不是对应一个文件。

这点和SVN的设计理念完全不一样。

这也造成了一个必然的结局:SVN的分支存的是一个工程,所以每签出一个分支实际上都是签出一个工程。

而Git的分支存的是修改的记录,所以每签出一个分支,实际上都是对原工程的一次覆盖。

B.在开发过程中大家可能会遇到这样一个问题:Pull之后,会出现很多别人提交的代码需要你本地再重新提交一次,那么这个原因是这样的,当然这个是我个人的理解:Git会把每一次pull结果做两个处理:

B1.如果pull之后,本地没有任何问题,那么不需要再次提交别人修改的东西了,只需要继续你的修改,push就可以了(正常情况下一版都是这样)。

B2.如果pull之后,本地有问题,大部分情况是冲突的情况,那么Git会把本次当做一次不成功的pull(那么通俗的来讲,git会认为,你认为不成功,那么你把这次版本按照你的想法改一下,再提交吧),所以你做完删减之后,需要把刚才别人的东西再提一次作为一个新的commit。

(6) 对于checkout某一次提交,SourceTree也很人性化,会给出很人性化的提示。注意checkout之后,你的工程当前不属于任何分支,不过可以基于此重新创建一个分支,很方便。

总结一下:这里只列出了一些关键的问题和不同点,当然工具的选择因人而异。大家可以在工作中慢慢体会,如果有问题欢迎大家提出,给我宝贵的意见。

11.SourceTree使用SSH克隆码云项目?

一、HTTPS和SSH克隆方式的区别

HTTPS:每次获取fetch和推送push代码时都需要重新验证账号和密码。(适合仅仅用来学习阅读项目代码的用户)

SSH:如果你是项目成员,就可以用这种方式,获取和推送操作时不需要再次验证账号。需要事前在本地创建SSH Key并添加到码云中。(适合项目成员,参与项目开发)

因为HTTPS比较简单,所以这里就不讲啦。主要讲SSH方式的克隆。

二、创建添加SSH-key

打开SourceTree,操作——在终端中打开(事先要装好Git)——在这里输入命令行

1、创建:ssh-keygen -t rsa -C [email protected]

三次回车这样就不用设置密码,省得麻烦。其中[email protected]这个是我的注册邮箱,你改成自己的。

2、查看:cat ~/.ssh/id_rsa.pub

查看公钥value,右键copy。也可以进入C:\Users\Administrator\.ssh用记事本打开id_rsa.pub复制公钥

3、添加:登录码云——个人中心——修改资料——SSH公钥

4、测试:ssh -T [email protected].oschina.net

如果可以看到welcome,你的昵称,说明成功了!

5、配置:打开sourceTree——工具——选项——在SSH客户端中选择OpenSSH——完成

6. 特别注意:使用sourceTree报错:Git使用错误收集:-ssh agent失败 错误代码-1;

解决方法:sourceTree设置--git--选择从本地加载git;

三、开始克隆SSH

1、登录码云后,进入开源项目,随意选择自己希望导入SourceTree的一个项目。

2、进入项目后点击克隆,会看到HTTPS和SSH两种方式,首先我们选择SSH方式,复制网址

3、打开sourceTree,点击Clone

4、克隆成功,现在可以开始操作啦。

原文地址:https://www.cnblogs.com/awkflf11/p/9375165.html

时间: 2024-10-08 00:08:53

git之sourceTree操作流程的相关文章

git与sourcetree联合使用

互联网公司的开发团队基本上都是把项目代码放在服务器上进行版本控制,一方面方便每次新改版时将项目子模块化,进行并行开发,另一方面,有效掌握并控制项目开发的速度,从而整体上提高团队的开发效率. 版本控制工具有很多,命令行的,UI图形界面的,用习惯了都差不多.一般,对于高级开发人员,他们习惯使用命令行的方式,而初级人员,由于经验不丰富,往往倾向于使用图形界面的,易学易用.sourcetree就是这样一款广泛应用于Mac系统的图形化版本控制工具. 对于一个长期开发的项目,不同阶段会有不同的需求,因此需要

手把手教你用git和SourceTree上传项目到github细解(转)

尊重原创:https://blog.csdn.net/qq_32365567/article/details/52859166 一.引言 我想大家现在都很熟悉github了,也能运用github上开源的项目到自己的项目中.但是我们也很想把自己的一些项目也放到github中开源供大家使用.这2天我就在研究这个东西,也查过很多资料都不是系统的,也走了很多的弯路毕竟一个初学者学习这几个软件,刚开始也不知道这两者有什么联系,纯粹靠自己瞎摸索,终于成功的上传到我的github里,好了闲话少说,干正事了,我

git概念和操作流程

git概念和操作流程 enter description here git branch -avv 命令非常重要 enter description here 提交完成后查看版本号信息确定提交成功 enter description here git diff --cached操作查看当前暂存区修改项 ![enter description here](https://raw.githubusercontent.com/miaozhijuan/xiaoshujiang/master/小书匠/15

[email&#160;protected] 开源中国git与sourceTree联合使用教程

[摘要:[email protected] 做为一其中国版的github,显着有着他本身的上风,比方速率快,汉语表现.sourcetree也可称得上是一个没有错的git客户端,可以或许 支撑windows战mac os.本文便为那二者团结用去治理项目] [email protected] 作为一个中国版的github,明显有着他自己的优势,比如速度快,汉语显示.sourcetree也可称得上是一个不错的git客户端,能够支持windows和mac os.本文就为这两者联合用来管理项目做一个入门的

Mac上 Git客户端SourceTree的使用

问题:想把自己写的一些demo和开源东西托管的github上,使用sourceTree还能修改远程仓库的代码. 解决方案或者教程: 1.首先你要有一个github账号,没成为用户,如何使用产品呢,准备工作就不多讲了. 2.关于SourceTree,一个可视化Git客户端,当然它还有其它很强大功能,我们用的比较多就是 create.push.clone.pull和merge等操作. 3 先创建一个远程仓库.如果把github比作月球,你所在位置在地球.你在月球上建一个基地,然后把这基地完全复制之后

Git专题--sourceTree介绍与使用

环境:  Mac OS X Yosemite 软件: SourceTree 1.下载安装SourceTree 2.sourceTree设置中添加用户 3.新仓库-从Url克隆(从管理员处获取) 通过url克隆仓库到桌面 4.在克隆出的文件中添加你的代码,编译成功后,打开sourceTree 勾选 添加提交信息----提交  到本地 (也可直接提交到服务器,勾选立即推送变更到 origin/master) 提交到本地后推送会显示红点 点击 确定即推送到服务器 5:实战遇到的一些问题 1.push时

git vs sourcetree

SourceTree&Git部分名词解释 克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库 提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送) 检出(checkout):切换不同分支 添加(add):添加文件到缓存区 移除(remove):移除文件至缓存区 暂存(git stash):保存工作现场 重置(reset):回到最近添加(add)/提交(commit)状态 合并(merge):将多个同名文件合并为一

git之sourceTree使用github和码云的代码小结

16.使用git出现的错误记录  15. Permission denied (publickey)错误: git远程库与本地库同步 git设置ssh公钥 Bad escape character 'ygen' 14.sourceTree克隆github代码或者码云代码报错现象? 13.生成并部署SSH key? 12.windows下生成ssh? 11.windows下生成github ssh key详解?  ========  16.使用git出现的错误记录  1 .创建ssh key时遇到

git以及sourcetree使用问题(一)

一. 问题:远端仓库,已经删除的分支或者标签,本地依然存在,普通拉取操作不能同步. 解决: git fetch origin --prune --prune-tags 这个命令会在本地同步删除 已不存在于远端的 分支以及标签,然后把远端最新的分支和标签获取下来. prune,顾名思义,修剪. 如果只想prune,不想fetch,可以执行: git remote prune origin 二.如果不喜欢命令行,也可以添加sourcetree的自定义操作,工具--选项--自定义操作: 运行的脚本填上