zoukankan      html  css  js  c++  java
  • 3.使用git提交项目到开源中国(gitosc)

    1.提交地址

    使用的是开源中国git仓库 git.oschina.net
    在windos环境下使用msysgit.

    2.初始化化

    username、email初始化

    git config --global user.name "Your Name" 
    git config --global user.email "your@email.com"//配置 
    
    3.在git.oschina.net管理页面创建项目

    这个过程就不在这里详细说明了,傻瓜化操作

    4.提交项目代码

    切换本地项目根目录(与.classpath和.project同级),右击然后选择Git Bash,

    这是就会弹出Git命令行,并且自动切换到当前所在目录,我们运行

    git init 
    git add . //把该目录下的所有文件全部提交到缓冲区 
    git commit -m "GitHelloWorld first commit" //说明 
    

    将代码提交到HEAD,注意此时还没有提交到服务器,下面将提交

    git remote add origin https://git.oschina.net/xxx/xxx.git//具体看项目 
    git push origin master//可能出现Non-fast-forward问题 
    
    5.可能遇到的问题

    ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to

    原因:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。
    例如我先在平台上建了一个项目然后添加了一个readme,本地上的跟目录又没有出现,所以造成两边的代码不同步,这样就必须先把平台上的代码pull下来,然后在push上去 。

    解决办法

    (1).看到提示里面,感觉是本地的代码不是最新的。

    所以觉得应该是类似于svn中的,先update一下,再去commit,估计就可以了。

    所以先去pull试试:

    git pull
    结果直接pull好像是不对的

    看来需要先搞懂pull的用法。

    (2).估计是指定对应的要pull的目标即可。

    所以再去试试 pull origin:

    git pull origin
    
    (3).使用 git pull --rebase master
    git pull --rebase origin master
    
    (4).接着再去:
    git push origin master
    

    然后我们可以看到代码已经提交上去了
    以上操作基于oschina,win7 操作

    6.使用ssh公钥提交,避免每次需要属于密码
    (1).打开gitbash 或 gitshell执行
    ssh-keygen
    
    (2).提示输入保存key的位置,直接回车
    [plain] view plain copy print?
    Enter file in which to save the key (/c/Users/{Your_User_Name}/.ssh/id_rsa):
    
    (3).会提示输入ssh 密码,直接回车两下
    [plain] view plain copy print?
    Created directory '/c/Users/{Your_User_Name}/.ssh'. 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    
    (4).打开目录:
    [plain] view plain copy print?
    Created directory '/c/Users/{Your_User_Name}/.ssh'. 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    
    (5).打开id_rsa.pub文件,复制里面的key
    (6). git.oschina.net ->SSH keys -> 添加key -> 粘贴刚才复制的key

    (7).打开gitbash 或 gitshell clone代码
    [plain] view plain copy print?在CODE
    git clone --recursive(如果存在submodule的话) [你的git地址]
    
    (8).测试一下该SSH key

    在git Bash 中输入以下代码

    $ ssh -T git@github.com
    

    当你输入以上代码时,会有一段警告代码,如:

    The authenticity of host 'github.com (207.97.227.239)' can't be established.
    # RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    # Are you sure you want to continue connecting (yes/no)?
    

    这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

    Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':
    

    当然如果你密码输错了,会再要求你输入,知道对了为止。

    注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。

    密码正确后你会看到下面这段话,如:

    Hi username! You've successfully authenticated, but GitHub does not
    # provide shell access.
    

    如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。

  • 相关阅读:
    Dubbo服务者消费者提供者案例实现
    spring核心组件
    spring为什么要注入接口
    小菜鸡进阶之路_Second week之元组、列表、集合、字典对比.
    小菜鸡进阶之路-First week
    光学公式推到——(物象位置) 1/u+1/v=1/f
    C#问题——调用事件时其他信息: 未将对象引用设置到对象的实例。
    工业相机全局曝光和卷帘曝光的区别
    相机加接圈的作用和缺点
    C#——数组维度/行数/列数/长度区别
  • 原文地址:https://www.cnblogs.com/weiguo21/p/5960402.html
Copyright © 2011-2022 走看看