前言

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

在github上有很多优秀的项目,一个伟大的学习宝库。本文分享使用tortoisegitgithub/oschinagit类开源代码托管平台进行日常版本控制的技能。

git book

git pro book: https://git-scm.com/book/zh/v2

10 个迅速提升你 Git 水平的提示:https://www.oschina.net/translate/10-tips-git-next-level?cmp

准备软件

本文以window操作系统为例

git for windows

Git for Windows是用于windows平台下的仓库(另有github for windows)

官网:https://git-for-windows.github.io/

TortoiseGit

github图形化客户端,包含多国语言包。

官网:https://tortoisegit.org/download/

开源地址:https://github.com/TortoiseGit/TortoiseGit

安装步骤

1、安装 git for windows (git-xxx-bit.exe)

2、安装TortoiseGit,安装完成之后打开TortoiseGit,它的操作和SVN小乌龟类似。

git clone的三种方式

首先需要明确,github上支持三种方式进行项目的clone    (https,ssh,subversion)

https:https://github.com/用户名/版本库.git

ssh: git@github.com:用户名/版本库t.git

subversion:https://github.com/用户名/版本库

git command-line

tortoisegit可用的命令行:https://tortoisegit.org/docs/tortoisegit/tgit-automation.html

tortoisegit使用方法

无需输入密码提交

1、在github的项目页面,设置项目的拉取方式为 SSH(我使用https无法不用密码提交)

2、在本地磁盘目录,点击 右键,选择 设置,进入设置界面

3、设置完成后,第一次提交会询问是否信任,选择信任,之后往这个库提交就不需要输入用户名和密码了。

Clone到本地

1、打开项目在github的地址,点击 Clone or Download ,选择ssh或https,点击 copy

2、回到本地磁盘,点击鼠标右键 选择 Git Clone(git克隆) ,粘贴剪切板中的地址,点击 确定

3、等待Clone结束之后,可以选择 查看日志/关闭

提交代码

1、本地有修改,在目录中点击 鼠标右键 选择 Git提交->mater/其它分支

2、 提交完成之后,记得要点 推送 按钮,这样git仓库中的内容才得到同步

更新代码

建议使用 Git拉取Git 同步

当远端有新的tag (version),或其它重大修改之后,请先拉取再提交和推送

其它技巧

其它操作比如,查看日志,应用补丁之类的,和svn小乌龟相似。

可能遇到的问题

推送失败

如果你在推送时遇到失败提示,请仔细查看错误信息,在git的错误信息中都会告诉你要怎么做。

Authentication Failed(验证失败)

如果遇到下方信息,验证失败,有两种解决办法

方法一:

1、在本地机器上创建新的putty密钥,并把密钥添加到github的后台。

方法二:

1、检查项目的拉取方式是否是ssh

2、重新克隆此仓库,git clone时选择 加载putty密钥

3、在克隆过程中会弹出框,问你是否要将此计算机添加到你的信任设备列表,选择 是。

4、再次尝试推送,推送框勾选 “自动加载Putty密钥”

提交之后点推送,远端才更新?

这个要从git的原理说起,git是基于分布式管理的

git clone 太慢怎么办?

http://www.aneasystone.com/archives/2015/08/git-clone-faster.html

方法1. 推荐proxychains代理,或者挂米国VPS

方法2. 把https改成http

方法3. 在release中选择download 而非clone完整仓库,缺点:没有.git本地仓库,不能commit,push

方法4. git clone --depth=1 ,这样只clone当前最新的commit版本,缺点:没有.git本地仓库,不能commit,push

方法5. 在国内同类代码托管网站查找是否有同样的源码,从国内镜像下载。

参考资料:clone 一个 github 上庞大的代码库,每次 clone 到一半就中断

如何断点继传

使用tortoiseGIT在拉取目录点击鼠标右键 - 同步 - 拉取。就可以继续上次的拉取工作

参考资料

通过TortoiseGit上传项目到GitHub

github结合TortoiseGit使用sshkey,无需输入账号和密码

开源中国的osc.git,几乎一样:Windows 下使用git 将代码托管到开源中国

Git/Github + TortoiseGit 使用教程的更多相关文章

  1. Github.com的Git和TortoiseGit图文教程

    图文介绍Windows系统下使用 Github账户 + msysgit + TortoiseGit 进行文件管理的方法. 安装 安装mysysgit 下载地址:msysgit 安装过程: 0.启动 1 ...

  2. Git&GitHub 03 使用 SSH 协议

    注意事项与声明 平台: Windows 10 作者: JamesNULLiu 邮箱: jamesnulliu@outlook.com 博客: https://www.cnblogs.com/james ...

  3. git github 使用教程

    参考文章:文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/ github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般 ...

  4. 3.git、TortoiseGit的安装、仓库的配置教程

    参考:https://blog.csdn.net/hc_ttxs/article/details/79375788 引言: Git: 就是最原始的分布式版本控制系统,是开源的. GitHub:与Git ...

  5. Git配置安装使用教程操作github上传克隆数据

    Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容 ...

  6. Git、TortoiseGit中文安装教程,如何注册Gitee账号进行代码提交,上传代码后主页贡献度没显示绿点(详解)

    今天给大家分享的是 Git 软件和 TortoiseGit 图形化软件的详细安装教程以及如何在 gitee 上进行代码提交. 首先我也是个刚接触 gitee 的一个小白用户,这些都是自己一边学一边记录 ...

  7. 使用Git操作GitHub代码入门教程

    GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...

  8. [教程向]__在IDEA中使用git+github实现代码的版本控制

    前言 在前面,我们对git与github有了一个简单的了解,了解到版本控制的必要性,和github远程代码仓库的一些作用.那么我们如何在IDEA重实现代码的版本控制呢. 前提 首先你要安装有git,注 ...

  9. git/github安装与使用教程

    新学习了Git和GitHub的使用,记一下笔记,也希望可以帮助他人,这里只是初级阶段,以后还会不断的修改和完善. 1.什么是git 开源的分布式版本控制系统,与svn比独特的地方: 1.解决了svn后 ...

随机推荐

  1. js删除数组中的'NaN'

    js中的NaN不和任何值相等,包括自身. 所以可以使用x!=x来判断x是否是NaN,当且仅当x为NaN时,表达式的结果为true. NaN != NaN //true 可以依此删除数组中的'NaN'. ...

  2. jQuery绑定事件的四种方式

      jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码.下面我们来看下jQuery中绑定事件的方式都 ...

  3. UIWebView的应用和其中的JS与OC间传值

    现在有很多的应用已经采用了WebView和html语言结合的开发模式.html5一直很火因为一份代码可以在多个平台上运用啊,效果各不相同都很美观,也越来越有一些公司直接招后台程序员和html5程序员, ...

  4. 百度地图SDK 遇到的问题及解决方案

    目前项目工作中用到了百度地图sdk,遇到了不少问题,在此记录一下,顺便吐槽下希望百度能把这地图sdk做的更好用一点. 1,开发环境, Xcode6.0 (6A313) + 百度地图 iOS SDK v ...

  5. UIColor与PatternImage

    UIColor有一个方法叫做+ (UIColor *)colorWithPatternImage:(UIImage *)image;. 返回的是一个UIColor,但没有明确的RGB值,所以叫做pat ...

  6. UISlider相关

    设置slider当前位置的图像 [slider setThumbImage:[UIImage imageNamed:@"dd.png"] forState:UIControlSta ...

  7. Warning: Attempt to present on whose view is not in the window hierarchy!

    当我想从一个VC跳转到另一个VC的时候,一般会用 - (void)presentViewController:(UIViewController *)viewControllerToPresent a ...

  8. Gradle基础

    什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. Gr ...

  9. 【读书笔记】iOS网络-使用Game Kit实现设备间通信

    Apple的Game Kit框架可以实现没有网络状况下的设备与设备之间的通信,这包括没有蜂窝服务,无法访问Wi-Fi基础设施以及无法访问局域网或Internet等情况.比如在丛林深处,高速公路上或是建 ...

  10. iOS开发笔记14:微博/微信登录与分享、微信/支付宝支付

    产品中接入了微博/微信的第三方登录分享功能.微信和支付宝的第三方支付功能,之前在开发过程中涉及到这些部分,于是抽空将接入过程梳理了一遍. 1.微博.微信.支付宝SDK相关接入设置 (1)微博SDK S ...