前言
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
在github上有很多优秀的项目,一个伟大的学习宝库。本文分享使用tortoisegit对github/oschina等git类开源代码托管平台进行日常版本控制的技能。
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在拉取目录点击鼠标右键 - 同步 - 拉取。就可以继续上次的拉取工作
参考资料
github结合TortoiseGit使用sshkey,无需输入账号和密码
开源中国的osc.git,几乎一样:Windows 下使用git 将代码托管到开源中国
Git/Github + TortoiseGit 使用教程的更多相关文章
-
Github.com的Git和TortoiseGit图文教程
图文介绍Windows系统下使用 Github账户 + msysgit + TortoiseGit 进行文件管理的方法. 安装 安装mysysgit 下载地址:msysgit 安装过程: 0.启动 1 ...
-
git github 使用教程
参考文章:文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/ github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般 ...
-
3.git、TortoiseGit的安装、仓库的配置教程
参考:https://blog.csdn.net/hc_ttxs/article/details/79375788 引言: Git: 就是最原始的分布式版本控制系统,是开源的. GitHub:与Git ...
-
Git配置安装使用教程操作github上传克隆数据
Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容 ...
-
使用Git操作GitHub代码入门教程
GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...
-
[教程向]__在IDEA中使用git+github实现代码的版本控制
前言 在前面,我们对git与github有了一个简单的了解,了解到版本控制的必要性,和github远程代码仓库的一些作用.那么我们如何在IDEA重实现代码的版本控制呢. 前提 首先你要安装有git,注 ...
-
git/github安装与使用教程
新学习了Git和GitHub的使用,记一下笔记,也希望可以帮助他人,这里只是初级阶段,以后还会不断的修改和完善. 1.什么是git 开源的分布式版本控制系统,与svn比独特的地方: 1.解决了svn后 ...
-
github简单使用教程
github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O ...
-
github简单使用教程(转)
github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O ...
随机推荐
-
Jsonp调用网易云音乐API搜索播放歌曲
效果如下图: 基本就是正常的文件播放,暂停,停止,设置循环,随机播放,加速,减速,上一曲,下一曲,再多个选择本地文件加入到播放列表的功能.然后想着给加个能搜索网络歌曲并且播放的功能,今天研究了一下,成 ...
-
MyBatis获取插入记录的自增长字段值
在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名! <insert id=" ...
-
写在复习MVC后
MVC的一些 今天把MVC复习了下,包括官方文档以及各种中文博客. 官方文档里面最能说明的问题的图片,相对于传统的MVC,苹果分离了View和Model之间的通信,实现了更好的复用性.我觉得MVC更 ...
-
IOS- 02 零碎知识总结
1.UIView,UIViewController,UIWindow和CALayer UIView是什么,做什么:UIView是用来显示内容的,可以处理用户事件 CALayer是什么,做什么:CALa ...
-
Android判断当前线程是否是主线程的方法
开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法: 方 ...
-
Easyui获取数据库date数据的显示
众所周知Oracle数据库中的date与众不同,在Easyui中显示数据库的date类型如果不经过转化为显示为Object.因此需要经过处理. 1.首先你要写转化date的JavaScript < ...
-
unity3d NGUI入门(描述和使用插件参数)
我用NGUI它是3.5.4,Unity3d版本号是4.3.4f需要 NGUI3.5.4 下载NGUI,这是破解版的,用于学习.假设是商用.请支持正版 插件的导入 1.NGUI的导入,双击NGUI Ne ...
-
Re.多项式除法/取模
前言 emmm又是暂无 前置 多项式求逆 多项式除法/取模目的 还是跟之前一样顾名思义] 给定一个多项式F(x),请求出多项式Q(x)和R(x),满足F(x)=Q(x)∗G(x)+R(x),R项数小于 ...
-
https://*.com/questions/10423781/sql-data-range-min-max-category
select phone,count(order_id) as c from table_recordgroup by phoneorder by c desc SELECT CASEWHEN (ag ...
-
nodejs 癞子麻将
'use strict'; var _ = require('lodash'); var quick = require('quick-pomelo'); var P = quick.Promise; ...