图文介绍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,填入 NameEmail 信息。

这里需要说明,每次通过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图文教程的更多相关文章

  1. Windows平台上使用Github搭建Git服务器的图文教程

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到通信协议,例如SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以 ...

  2. Windows平台下搭建Git服务器的图文教程

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

  3. Windows平台下搭建Git服务器的图文教程(转发)

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

  4. windows7 64位下git和tortoisegit的安装和使用

    githttps://github.com/git-for-windows/git/releases tortoisegit安装下载https://tortoisegit.org/download/ ...

  5. Windows+Git+TortoiseGit+COPSSH安装图文教程【转】

    转自:http://blog.csdn.net/aaron_luchen/article/details/10498181/ Windows+Git+TortoiseGit+COPSSH 安装图文教程 ...

  6. git版本控制-- Windows+Git+TortoiseGit+COPSSH安装图文教程

    Windows+Git+TortoiseGit+COPSSH 安装图文教程 教程网址: http://www.liaoxuefeng.com/wiki/0013739516305929606dd183 ...

  7. Git/Github + TortoiseGit 使用教程

    前言 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 在github上有很多优秀的项目,一个伟大的学习宝库.本文分享使用tortoisegit对github/ ...

  8. TortoiseGit 安装和使用的图文教程

    TortoiseGit.SourceTree都是Windows下不错的Git客户端工具,下面介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要两个软件:Torto ...

  9. TortoiseGit安装和使用的图文教程

    ortoiseGit是Windows下不错的一款Git客户端工具,在Mac下推荐使用sourcetree.下面就介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要 ...

随机推荐

  1. Neutron 理解 (6): Neutron 是怎么实现虚拟三层网络的 [How Neutron implements virtual L3 network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  2. java设计模式之中介者模式

    中介者模式 用一个中介对象来封装一系列的对象交互.中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 中介者模式UML图 中介者模式代码 package com ...

  3. 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 ...

  4. H5框架之Bootstrap(一)

    H5框架之Bootstrap(一) 接下来的时间里,我将和大家一起对当前非常流行的前端框架Bootstrap进行速度的学习,以案例的形式.对刚开始想学习Bootstrap的同学而找不着边的就很有帮助了 ...

  5. 片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但

    片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但片元着色器是一个更合适的名字, 因为此时的片元并不是一个真正意义上的像素.

  6. Jenkins学习三:介绍一些Jenkins的常用功能

    Jenkins其实就是一个工具,这个工具的作用就是调用各种其他的工具来达成你的目的. 1.备份.迁移.恢复jenkins 首先找到JENKINS_HOME,因为Jenkins的所有的数据都是以文件的形 ...

  7. 嵌入式Linux驱动学习之路(二十三)NAND FLASH驱动程序

    NAND FLASH是一个存储芯片. 在芯片上的DATA0-DATA7上既能传输数据也能传输地址. 当ALE为高电平时传输的是地址. 当CLE为高电平时传输的是命令. 当ALE和CLE都为低电平时传输 ...

  8. Android 自定义Dialog类,并在Activity中实现按钮监听。

      实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的 ...

  9. AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...

  10. virtual memory exhausted: Cannot allocate memory

    ~$free total used free shared buffers cached Mem: 1017832 784328 233504 356 12844 14692 -/+ buffers/ ...