Github.com的Git和TortoiseGit图文教程
图文介绍Windows系统下使用 Github账户 + msysgit + TortoiseGit 进行文件管理的方法。
安装
安装mysysgit
下载地址:msysgit
安装过程:
0、启动
1、默认
2、默认
3、默认
4、默认
5、这步骤很重要,选中 Checkout as-is 。这样使用 git clone 时,Git不会擅自改动所获文件的换行符。
6、默认
7、安装完成。
安装TortoiseGit
下载地址:TortoiseGit 。
安装过程
0、启动
1、默认-Next
2、默认-Next(注意,这步除了安装路径更改下,其它保持默认即可!)
3、默认-Next
4、默认-Install
5、完成
术语
- repository 仓库,包含文件历史记录和配置信息的数据库,通常含有多个分支;
- clone 仓库的克隆是指仓库的副本拷贝,一个新的克隆包含有原仓库的各种信息;
- push 将数据提交到远端仓库;
- pull 从远端仓库或本地分支获取数据,然后合并到指定分支;
- branch 不同的开发路线;
- merge 将数据合并到分支;
- commit 将文件更改记录到仓库中;
设置
TortoiseGit 设置
开始->所有程序->TortoiseGit->Settinigs,填入 Name 和 Email 信息。
这里需要说明,每次通过GIT提交文件时都需要 Name & Email 信息。这个信息会连同 Commit Comment 显示在Github的Commit记录里。
在我们成功将文件上传至Github之后,可以在仓库 Name 会在 Commit 记录中体现出来。
为简单起见其他所有的设置项项暂时我们都不做修改,可以在使用中逐渐摸索。
用法
配合Github使用
1、登录github(如没有账号,则需新建一个账号)。点击 Sign in 按钮进入登陆页面,填写用户名(或邮箱)与密码后登陆。(用户名与邮箱名不区分大小写,而密码区分大小写)
2、进入 Account Settings ,添加 SSH Key 。 SSH Key 是用户使用SSH工具(本教程里用的是TortoiseGIT里集成的工具)登陆或上传文件至Github时用的密码。
3、先从Github上退回到本地。我们需要添加 SSH Key, 但是我们现在还没有,所以制作一个先。 开始->所有程序->TortoiseGit->Puttygen
点击 Generate 按钮开始生成,在指定的区域内移动鼠标加速 SSH KEY 的产生。
点击 Save private key 保存密钥。由于我们没有设置密码,这时会弹出一个窗口问我们是否真的不需要设置 SSH key 保护密码。设置密码之后更安全,但在使用的时候每次推送文件都会提示你输入此密码,比较啰嗦,这里可根据个人喜好选择。
不需要设置密码的同学可以略过下图
暂时不要关闭Puttygen下面还要用到,如果很不幸你没有看到这句提示。那么也不要紧,重新做一遍吧。
不想重新做一遍的同学可以打开刚才保存的密钥, File->Open private key 。如果有同学已经重做,那么恭喜你,你中招了。
4、整理思绪回到Github网站上,相信刚才的页面你还没有关闭,如果关闭了,或者找不到了,那么重新登陆你的Github,右上角点击 Account Settings ,然后找到 SSH Keys, 点击 Add SSH Keys 开始添加。
切换到 Puttygen 软件,拷贝Public Key 至Github上的 Add an SSH Key -> Key 窗口。点击 Add key ,再之后弹出的密码确认框中输入Github账户密码 点击 Confirm Password 完成添加。
(注意:要“全选”)
5、现在基本工作已经完成了,下面我们可以开始在Github上建立 Repository 并上传文件至Github,开始我们的Github之旅了。
点击右上角的 Create new repo 建立新仓库,填入 Name (名称)与 Description (描述)后,点击 Create repository 创建仓库。
创建完仓库后,你的github页面大致如下图所示,红框中有几个可以点击的按钮, Setup in Windows , HTTP 和
- Setup in Windows 不知道怎么使用。
- HTTP 非加密连接,只读属性,当获取其他用户的github文件时需要用此种格式的链接。
- SSH 加密链接,向自己的仓库中添加上传文件时需要用此种格式的链接,这里我需要使用的链接,即是 git@github.com:JiapengLi/GitTutorialPractice.git 。
6、现在我们已经成功地在Github上面建立了一个仓库,接下来我们需要使用TortoiseGit工具 Clone 刚才建立的仓库,然后添加文件并上传。
- 在Windows资源管理器中单击 右键;
- 选择 Git Clone 项;在 URL 项目中添加 Repository (仓库)的地址;
- 在 Directory 项目中填入目标文件夹(空文件夹或者不存在);
- 在 LoadPutty Key 项目中载入刚刚建立的并保存的Private Key,点击 OK 按钮开始 Clone;
- Clone 结束后点击 Close 退出。
7、向Github上传文件。
- 在 GitTutorial 文件夹中新建 README.md ;
- 编辑 README.md ,这里给出了Markdown格式的 README.md 样例;
- 另外,为了演示Markdown中添加图片的功能,建立一个 image 文件夹(这个名字可以随便取),并向其添加一些图片
- GitTutorial文件夹中右击,选择 Git Commit->"master" ;
- 在新弹出的对话框里选择需要上传的文件,填入 Message (Message 的内容要对题,描述你此次上传都做了什么),按OK确认;
- 在新弹出的对话框里单击 PUSH按钮上传文件;(在实际开发中,此时可以选择不上传,而在多次Commit之后再上传)
- 在新弹出的对话框里选择 Local (本地分支)、 Ref-Remote (远程分支)、 Destination-Remote (远程目标),由于我们只有一个分支所以这些项我们都选择默认就可以了,选择 Autoload Putty Key ,然后点击OK开始上传;
- 至此我们完成了Github文件的上传。
完成上传。
温馨提示:
开源中国(oschina.net)的添加公钥地址为:http://git.oschina.net/keys
也可按以下路径走:点击头像 -> 编辑 -> 添加公钥
TortoiseGit各项的操作所对应的Git命令
删除远端分支
git push origin --delete <branchName>
// 或
git push origin :<branchName>
取消文件的版本控制
永久删除:
git rm files
从仓库删除,保留本地文件:
git rm --cached files
重命名分支
git branch -m <oldname> <newname>
git branch -m <newname> // change current branch name
取消最近的一次提交
git reset --soft HEAD^ (--soft 取消提交保留更改)
git reset --hard HEAD^ (--hard 取消提交并删除更改)
取消文件添加
git reset HEAD file
临时隐藏更改/恢复更改
git stash save
git stash pop
显示所有未加入版本控制的文件
git status -vu
分支到分支的push
git push origin local_branch:remote_branch
部分历史记录克隆转为全部历史克隆
git fetch --depth=LargeNumber
搜索git log
git log --all --grep="STRING"
创建分支
git checkout -b new_branch_name commit_code_91f7edc6c1f4440c1
Github.com的Git和TortoiseGit图文教程的更多相关文章
- Windows平台上使用Github搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到通信协议,例如SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以 ...
- Windows平台下搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- Windows平台下搭建Git服务器的图文教程(转发)
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- windows7 64位下git和tortoisegit的安装和使用
githttps://github.com/git-for-windows/git/releases tortoisegit安装下载https://tortoisegit.org/download/ ...
- Windows+Git+TortoiseGit+COPSSH安装图文教程【转】
转自:http://blog.csdn.net/aaron_luchen/article/details/10498181/ Windows+Git+TortoiseGit+COPSSH 安装图文教程 ...
- git版本控制-- Windows+Git+TortoiseGit+COPSSH安装图文教程
Windows+Git+TortoiseGit+COPSSH 安装图文教程 教程网址: http://www.liaoxuefeng.com/wiki/0013739516305929606dd183 ...
- Git/Github + TortoiseGit 使用教程
前言 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 在github上有很多优秀的项目,一个伟大的学习宝库.本文分享使用tortoisegit对github/ ...
- TortoiseGit 安装和使用的图文教程
TortoiseGit.SourceTree都是Windows下不错的Git客户端工具,下面介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要两个软件:Torto ...
- TortoiseGit安装和使用的图文教程
ortoiseGit是Windows下不错的一款Git客户端工具,在Mac下推荐使用sourcetree.下面就介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要 ...
随机推荐
- Neutron 理解 (6): Neutron 是怎么实现虚拟三层网络的 [How Neutron implements virtual L3 network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- java设计模式之中介者模式
中介者模式 用一个中介对象来封装一系列的对象交互.中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 中介者模式UML图 中介者模式代码 package com ...
- UVA - 11584 Partitioning by Palindromes[序列DP]
UVA - 11584 Partitioning by Palindromes We say a sequence of char- acters is a palindrome if it is t ...
- H5框架之Bootstrap(一)
H5框架之Bootstrap(一) 接下来的时间里,我将和大家一起对当前非常流行的前端框架Bootstrap进行速度的学习,以案例的形式.对刚开始想学习Bootstrap的同学而找不着边的就很有帮助了 ...
- 片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但
片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但片元着色器是一个更合适的名字, 因为此时的片元并不是一个真正意义上的像素.
- Jenkins学习三:介绍一些Jenkins的常用功能
Jenkins其实就是一个工具,这个工具的作用就是调用各种其他的工具来达成你的目的. 1.备份.迁移.恢复jenkins 首先找到JENKINS_HOME,因为Jenkins的所有的数据都是以文件的形 ...
- 嵌入式Linux驱动学习之路(二十三)NAND FLASH驱动程序
NAND FLASH是一个存储芯片. 在芯片上的DATA0-DATA7上既能传输数据也能传输地址. 当ALE为高电平时传输的是地址. 当CLE为高电平时传输的是命令. 当ALE和CLE都为低电平时传输 ...
- Android 自定义Dialog类,并在Activity中实现按钮监听。
实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的 ...
- AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...
- virtual memory exhausted: Cannot allocate memory
~$free total used free shared buffers cached Mem: 1017832 784328 233504 356 12844 14692 -/+ buffers/ ...