码迷,mamicode.com
首页 > Windows程序 > 详细

windows下使用git总结

时间:2015-03-28 11:25:17      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:

一、在window下搭建git服务器


1、cyswin这个模拟环境。这个包里面已经有git服务了(目前我的git就是在这个里面。)

2、同时还需要sshd服务器才行。包里面也有了

3、git服务器与sshd服务器的关系

git服务器如果以ssh协议来连接的话,则不需要这样的形式:专门启动git服务器作为一个进程,侦听某个端口。



思路为:只需要配置好sshd服务器,侦听某个端口,重点把公钥加到authorized_keys去。变成了,以ssh客户端连接sshd服务器的形式了。
能不能连接,就看authorized_keys中的公钥是否匹配了。


ssh公钥生效,.ssh目录的权限必须是0700, .ssh/authorized_keys文件权限必须是0600

git clone ssh://user@ip:/path/test.git/

git客户端应该会连接ssh服务器,然后拿"/path/test.git/"





4、在cyswin下配置shhd步骤
在syswin控制台输入
ssh-host-config -y  #将sshd注册为系统服务,并设置成为自动启动。

在syswin控制台输入

net  start|stop sshd

好像是:sc start sshd

or sc  sshd  start
如果有问题,可以删除服务,重新安装

删除服务:sc delete sshd

经验:能够使用net,关键是在运行ssh-host-config的时候,是否输入了damon的名称。






\etc\sshd_config配置。


公钥是加到
home\Administrator\.ssh\authorized_keys











二、在window下使用git客户端


这种形式只是客户端,git服务端可能在本地的window下,也可能在远程的linux平台上。


git bash就是一个git客户端。

去http://msysgit.github.io/网站上下载一个"git for windows",这个是已经编译好的二进制。

git for windows是免编译的,因为已经预先编译成适应window平台的二进制。所以能够直接点击下一步这样的方式来安装。

与msysGit不是同一个东西。


msysGit的主页提供了两个项目:Git for Windows和msysGit。



安装好git for window后。这个软件会有两个组件:git bash 和 git gui。






注意点

1、在安装的时候会要求选择哪个作为ssh客户端。有两个供选择:plink 和 openssh(这个是默认的)

客户端选择不同,会影响密钥的解析方式。选择openssh。


echo $GIT_SSH
查看使用的是哪个客户端。


2、如果已经安装好后,要修改ssh客户端。在git bash命令行下输入:export GIT_SSH=‘/f/installsoft/Git/git-for-windows/bin/ssh.exe‘

这种只是临时修改。要永久生效的话,把这一句加入到\git-for-windows安装目录\etc\profile文件中去

export GIT_SSH=‘/f/installsoft/Git/git-for-windows/bin/ssh.exe‘

修改profile文件后,需要运行"source \etc\profile"才会生效




运行 git Administrator@127.0.0.1:test.git

git bash会按照设定的ssh客户端去连接sshd服务器。



是使用什么私钥发给服务端呢?如果使用ssh.exe作为ssh客户端的话,则是~/.ssh/config文件里面配置的。


3、生成公钥

ssh-keygen -t "tao_20@163.com" -f /f/install/Git/mykey/id_rsa_first

如果没有指定-f,默认是生成到~/.ssh/目录下,默认名称是id_rsa(id_rsa和id_rsa.pub两个文件,对应是私钥和公钥)



建议使用纯命令行功能。因为图形界面形式下,有些功能没有实现。使用纯命令能够方便知道原理。



git config --global user.name ‘wangtao‘
git config --global user.email johndoe@example.com
设置配置

 

三、整理市面上工具之间的关系

 

http://git-scm.com/download 这个才是git的官网

这个是一个客户端工具的官网:http://msysgit.github.io/。这个其实就是把git做成方便window下面使用的。集成了:git bash 和 git gui。

msysgit是 Git 版本控制系统在 Windows 下的版本。

Historically, Git on Windows was only officially supported using Cygwin. To help make a native Windows version, this project was started, based on the mingw fork.
只能运行在 Cygwin 下的 Git。
包括了:git bash、git gui

msysGit 有个简单的 GUI 工具,及简单的 Explorer 集成;但它自带的 Bash 非常好用,深得 Linux 的真传。

GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。


安装tortoisegit之前,必须要安装msysgit

有人说:TortoiseGit 是对 msysGit 命令行的封装,因此需要先安装 msysGit。

为什么TortoiseGit不像TortoiseSVN一样,把SVN命令行工具集成在安装包中呢?我猜想是以下几点原因:

    Git官方从未出过Windows版本二进制包;
    msysGit和TortoiseGit是两个不同的团队开发的;
    msysGit和TortoiseGit的更新周期差异较大;
    TortoiseGit团队希望安装包更小;
    TortoiseGit团队给用户更灵活的选择Git版本的权利。


TortoiseGit 只是 GUI 工具,使用它需要先安装 msysGit,这是正宗的 Git 之 Windows 版本。msysGit 有个简单的 GUI 工具,及简单的 Explorer 集成;但它自带的 Bash 非常好用,深得 Linux 的真传。


Tortoisegit提供了良好的界面操作GIT,底层实际使用Git-1.7.4客户端完成所有GIT功能

Git-1.7.4, 这个是GIT客户端,可以在GIT的官方网站上下载

Tortoisegit与msysgit是什么关系?最终都要依赖于git?
我可以理解这两个东西都是针对windows用户更好使用git服务的。

TortoiseGit是Windows下不错的一款Git客户端工具,在Mac下推荐使用sourcetree(sourcetree不支持windowxp,只支持window7)
SourceTree是Mac平台上一款著名的Git GUI工具,也推出了window下的版本(win7)。
mac下还有Tower,是一个功能强大的Git客户端。


git gui CLIENTS:是一个统称。没有特别指哪个操作系统平台。它就是git客户端的图形化版本。其实就是省去了命令操作。做成图形化。在git的官网上就列出了很多git gui CLIENTS。GUI Clients这是官网的称呼。官网对所有git客户端,进行了图形化都叫做git GUI Clients。官网上列出来市面上所有平台的图形化客户端。有linux的也有windows下的。


git gui则是window下的git服务端图形管理工具。在msyssit安装后就会存在两个:git bash 和 git gui(以图形化管理服务端版本的)


两个称呼:git bash 和git gui。git gui嵌入了git bash。


window版本的git服务端:msysgit、gitstack

这么理解:因为git官方只提供源码包进行编译安装。没有专门针对window来做安装。不友好。于是有的公司就自己做了基于window的版本,比如msysgit。

正如msysgit官网说的:We bring the awesome Git SCM to Windows。


window版本的git客户端(分图形界面和shell界面的):git bash、TortoiseGit、GitHub for Windows、SourceTree

其他操作系统下的git gui工具:

1、GitHub这个公司还做了针对mac系统下的图形客户端,GitHub for mac。要区分一下,所以叫做for windows
2、tower
3、Gitbox
4、GitX-dev

5、gitg linux平台下的图形客户端。

Git comes with built-in GUI tools for committing (git-gui) and browsing (gitk)

内建的gui 工具用来提交和浏览版本。

几个ssh客户端:

TortoisePLink,是一个ssh客户端。

还有openssh,这是乌龟git内置的ssh客户端。TortoisePLink来自于putty这个软件。

安装git的时候,会提示使用plink客户端还是openssh客户端。

windows下使用git总结

标签:

原文地址:http://www.cnblogs.com/wangtao_20/p/4373679.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!