windows下github的使用心得

       最近对linux很是感兴趣,就在自己的pc机上搞了个双系统--windows 和 linux。主要是为了学校里各种作业和联系什么的,没办法只能保留windows。某天突然想学习QT了,就下了个QT的源码包,准备手动编译安装,结果无奈不知何原因安装失败了。无奈只有另下包,为了删除之前的包,就执行了sudo的删除命令,无奈手残把两条命令敲错成一条sudo rm ls,还是什么的,结果把usr/local下的两个文件夹删除了。因为这里连有很多系统的调用和库。所以,系统就跪了,想着用linux的rescue模式进去后,把同一个系统的这些文件复制到原系统分区,系统就应该可以恢复了,结果花了我1天时间没搞好(各位大神有谁知道怎么搞的请教呀~~谢谢)。只能怒装系统,可是无奈连一连试了2天,这机子连linux系统都装不上了,每次不是在安装系统软件时跪掉就是在安装完软件设置时机子shut down了(话说我装的时fedora 20,这个问题也一直困扰我,之前一直用的是这个,但是现在就是死活装不上,不知是机子坏了还是怎么的~~可怜)。这都不是关键,关键还是我在linux上的好多文件和代码差点因为这样就丢失了(幸好我用rescue模式进去把系统分区中的文件实现拷出来了~。~)。终于知道备份的重要行了,尤其对于程序员而言,所以就果断使用github。至于为什么,我反正没这麽多理由,就是因为简单,没有svn这么麻烦,也可以无需实时联网就能使用。不过对于新手的我还是花了几个小时才完成,下面就说说这个github的使用过程吧:

1.当然首先是需要在www.github.com官网注册一个git账号;


2.然后就是安装git shell的客户端就可以了(我安装的是windows版本的,linux或是其他类unix的系统使用方法类似就不赘余了)。

 

3.就这麽简单,然后就是使用了。首次使用当然就是做一些配置了:

   配置ssh无密码连接,输入ssh -T [email protected],如果出现welcome,$username *** 的字样就表示ssh配置ok,那就跳过ssh配置;

   ssh-keygen -t rsa -C "useremail" 然后就是就在本地的./ssh目录下生成了:./github_rsa     ./github_rsa.pub   ./id_rsa    ./id_rsa.pub四个文件,也可能是只有最后两个文件(这个地方有个细节后面再说~);然后把id_rsa.pub的内容复制,在服务器上的setting的SSH public key中add一个新的,把复制的内容拷进去进行了,测试一下是不是连上了.(如果连接出错:permission denie,请看后面的解决办法);

  一旦ssh连接成功,接下来就是建一个仓库,然后把需要git的东西放到这个仓库里,push到服务器就行了。当然使用的时候就是要了解一些git的使用命令了。

  首先就是要在服务器上建立一个仓库 dir(名字随意),在create repository 中建立一个远程的dir仓库,服务器上建好后你会看到这个仓库的clone URL(这个后面游泳),接下来再就是在客户端建立一个目录以映射这个仓库,在本地的git shell中用命令输入:

   mkdir  test          //本地建立一个test的文件夹

   cd test          //进入dir文件夹中

   git init          //初始化本地仓库

   git remote add tt ${clone URL}          //tt是远程服务器上的仓库的别名(随意),${clone URL}是远程的仓库的URL(这步完成后可用git remote -v 查看)

   git add .

   git commit -a -m "this is first commit"

   git push tt master          //此时就可以将本地的仓库内容push到远程服务器上了.

以上的知识基本的一个git 客户端建立和使用过程,更多git使用命令请自行百度学习。


注意:对于之前说的在配置ssh时可能会出现问题,是指使用git的默认安装方式,此时对于git而言在ssh连接时使用的git的默认配置文件在../PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\etc\ssh 下的配置文件ssh_config:

Host *
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null

Host github.com
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile=~/.ssh/github_rsa

最后一行的IdentityFile指示的文件时github_rsa文件而不是id_rsa文件,所有针对这种情况有两种解决方案:

1.配置ssh时将id_rsa.pub的内容传到服务器,将这个ssh_config文件内容的IdentifyFile改为~/.ssh/id_rsa文件;


2.配置ssh时将github_rsa.pub的内容复制到服务器,IdentifyFile的值仍保持~/.ssh/github_rsa.


以上的配置和使用过程均在自己的机子上安装成功,如在您的机子上无法安装或是配置不正确纯属巧合,谢谢~。~


备注:push过程最好在仓库根目录下进行。

猜你喜欢

转载自blog.csdn.net/u014443884/article/details/45370677