zoukankan      html  css  js  c++  java
  • git使用记录

    1.

    (1)安装软件

    下载msysgit
    http://msysgit.github.io/
    下载TortoiseGit
    http://code.google.com/p/tortoisegit/

    (2)生成密钥

    点开图标

    执行下面的操作生成密钥

    github密钥是针对一台电脑,不是账号
    github
    github.ppk
    github.pub

    如果出现Permission denied (publickey).错误,解决方法:

    进入/c/Users/xxx/.ssh/目录
    将github改名为id_rsa,github.pub改名为id_rsa.pub

    2. oschina

    (1)用Notepad++打开第一步生成的密钥oshina-key.pub,复制SSH Key。

    (2)登录oschina,点击“我的资料”,如下图所示

    选择“SSH公钥”,如下图所示

    点击“添加公钥”,粘帖上一步复制的密钥,即可。

    如果不添加“公钥”,则git clone代码时提示如下对话框,怎么输入密码都错,最终clone失败。

    (3)从oschina-key中生成.ppk文件

    因为下面安装的Git图形界面客户端软件TortoiseGit可使用PUTTY通过SSH协议与Git版本库进行安全验证,所以需要生成相关公钥的ppk配置文件。操作步骤如下:
    执行 puTTYgen 程序,如下图所示:


    然后点击“Load”按钮,如下图所示:

    找到oschina-key文件,如下图所示:

    提示导入成功,点击按钮“Save private key”另存为ppk文件,如下图所示:

    保存为oschina-key.ppk文件。

    正确完成上述步骤,就生成了puTTY软件在SSH验证中使用的ppk格式的私钥文件。

    (4)至此,就可以用TortoiseGit clone代码,提交代码等。

    TortoiseGit git clone时注意要选择上一步生成的oschina-key.ppk文件,否则会出现如下提示:

    ,怎么输入密码都错,最终clone失败。

    这样就可以成功将代码clone出来了。

    注意:

    项目的地址有 https方式和git@方式,由于https方式提交代码到远程仓库 每次都要输入密码,很麻烦,因此,在clone时,采用git@方式

    提交代码时不需要每次输入密码了。

    如果本地先创建好仓库,并添加代码,再到码云上创建项目,则可以在git工具上设置remote参数,然后执行push remote。参数如下图所示:

    2. github

    (1)用Notepad++打开github-key.pub,复制SSH key。

    添加SSH key到自己的github帐号,如下图所示

    (2)git clone

    在TortoiseGit和git bash中都可以使用git clone https://github.com/d1php/test.git 或者git clone git@github.com:d1php/test.git得到项目代码。

    注意:

    1. 用git clone前先登录github,否则不会出现ssh的地址,复制工程的ssh地址,例如 git@github.com:d1php/test.git
    2. 在git bash中使用git clone git@github.com:d1php/test.git出现如下错误:

    Jonathan@JONATHAN-PC /e/sy/git_sy/git_bash_test
    $ git clone git@github.com:d1php/test.git
    Cloning into 'test'...
    Warning: Permanently added the RSA host key for IP address '192.30.252.128' to
    he list of known hosts.
    Permission denied (publickey).
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.

    使用git clone https://github.com/d1php/test.git可以将工程的代码克隆出来。

    解决办法:

    用ssh -vT git@github.com测试和github的连接是否成功,最后几行的结果是:

    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey
    debug1: Next authentication method: publickey
    debug1: Trying private key: /c/Users/Jonathan/.ssh/identity
    debug1: Offering public key: /c/Users/Jonathan/.ssh/id_rsa
    debug1: Authentications that can continue: publickey
    debug1: Trying private key: /c/Users/Jonathan/.ssh/id_dsa
    debug1: No more authentication methods to try.
    Permission denied (publickey).

    查看/c/Users/Jonathan/.ssh/目录下没有id_rsa文件,生成SSH key时指定文件名为github-key,于是将

    github-key改名为id_rsa,github-key.pub改名为id_rsa.pub。

    用ssh -vT git@github.com再次测试,最后几行的结果是:

    debug1: Entering interactive session.
    Hi wi100sh! You've successfully authenticated, but GitHub does not provide shell
    access.
    debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
    debug1: channel 0: free: client-session, nchannels 1
    Connection to github.com closed.
    debug1: Transferred: stdin 0, stdout 0, stderr 34 bytes in 0.6 seconds
    debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 53.6
    debug1: Exit status 1

    此时尝试在git bash中git clone https://github.com/d1php/test.git,克隆成功。

    参考:https://help.github.com/articles/error-permission-denied-publickey/

    错误“git did not exit cleanly (exit code 128)”的解决办法

    1、鼠标右键 -> TortoiseGit -> Settings -> Network

    2、SSH client was pointing to C:Program FilesTortoiseGitinTortoisePlink.exe

    3、Changed path to C:Program Files (x86)Gitinssh.exe

    3. github连接出现port 22: Bad file number问题

    原文网址:http://rangercyh.blog.51cto.com/1444712/749490

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://rangercyh.blog.51cto.com/1444712/749490

    前段时间我试用了时下非常酷的代码托管站点github以及gitorious。感触颇多。

    首先是我以前一直想要有这种代码托管的网站,可是直到前段时间我才知道已经有了。o(︶︿︶)o 唉,跟不上潮流啊!

    其次是这些网站做得比我想要的要漂亮的多了,我最喜欢简洁明了,而这两个网站也正是如此,甚至比我想要的还要好。这里也推荐给大家使用。

    顺带说明一下github是闭源的,gitorious是开源的。不管怎么样,都不错,反正我用免费的。。。。如何在局域网自己架我就不说了,自己去网站上看吧。给出它们的链接:

    github:https://github.com/

    gitorious:https://gitorious.org/

    当然,这两个网站都是使用git版本控制工具来的,虽然我以前只使用过css,但用过git之后我觉得我以前弱爆了。。。好吧。不谈这个。。免得得罪svn和cvs党。。

    不过在使用github时我遇到了点小问题。在官网里也没有说明,其实非常简单,但我想肯定会有跟我一样的菜鸟不知所措的。所以我列一下我遇到的问题。

    按照github官网上Set Up Git来操作,当执行到ssh连接时,会出现我下面的问题:

    “Bad file number这是个什么玩意”我当时就是这么想的。

    后来我仔细研究了官网上的帮助文档,发现它提到过一个config配置文件,我当然没有创建过这个文件。于是我就google了一下,参考前人写了一个config放到rsa相同目录下:

    image

    image

    但是我重新连接时仍然不行:

    于是我怒了!!!静下来思考觉得可能是这个port 22的问题,因为我ping了一下github.com发现是可以ping通的。然后我用IceSword查看了一下端口,发现22端口是被禁掉的。原来这个22端口是默认的ssh连接端口,不过貌似这个服务有很多弱点,所以系统默认不开放。。当然,开放它是一个策略,不过既然有弱点,我还是不要去动它,那么我使用另一个端口去连接ssh就行了嘛~~~呵呵!这个新的端口不能和现在程序使用的服务端口重复,而且要确保开放,看到github的网址我想到了443端口,它是用来支持https服务的。这个端口默认开放,哈哈!!

    下面我只需要修改下配置文件就可以了,如下:

    image

    注意Hostname修改成了ssh.github.com。接下来连接就发现一切OK了~~哈哈!

    输入yes之后在rsa的路径下会生成一个known_hosts的文件

    image 

    打开看了就发现其实就是一个类似cookie的文件罢了:

    当这个文件存在时以后就不用费劲的输入yes了,直接就连接上了

    怎么样!我是不是很有才。。。。好吧。我又2了。。。

    4. Macbook Sourcetree 

    之前的账号用得好好的,增加新的账号老是提示如下permission错误:

    Pushing to https://gitee.com/xxx

    remote: [31mYou do not have permission to push to the repository via HTTPS

    You do not have permission to pull from the repository via HTTPS

    解决方法:

    (0)SourceTree会自动记录“主机名”和“账号”的对应关系,因此码云不同的账号,同一时间只能用一个账号。

    每次切换账号时,需要删除之前的账号,或者"编辑"账号,将其改为新账号

    (1)先删除之前的账户信息

    (2)重新push时弹出如下窗口,输入账号和密码即可

  • 相关阅读:
    JAVA 执行系统命令
    Linux环境安装Elasticsearch
    JAVA 上传文件到本地服务器
    模仿新浪导航栏
    导航栏简单实现
    css实现简单导航栏
    css字体讲解内容
    模拟新闻页面模块
    [Win32]一个调试器的实现(六)显示源代码
    [Win32]一个调试器的实现(九)符号模型
  • 原文地址:https://www.cnblogs.com/wi100sh/p/4259069.html
Copyright © 2011-2022 走看看