将在本地建立的Git仓库push到Git@OSC

        本人小白一个,最近刚接触Git,发现挺好用的,并且OSC还提供了免费的托管仓库,打算把本身电脑上的代码和在公司无聊时写的代码给同步到OSC上,结果老是出现各类失败。网上搜索的解决方案大部分是先在Git@OSC上建立项目,而后再clone到本地,而我是想把已经在本地建立好的仓库直接push到Git@OSC上。摸索半天终于解决,分享一下个人方式。 java

        实用范围:已经在本地经过 git init 命令建立了本地仓库,而后想把本地仓库push到Git@OSC上。不对Git的安装及使用进行详细说明,Git详细使用请参考http://git.oschina.net/progit/(个人全部操做是在linux上进行的,windows上经过msysgit应该也能完成 )        linux

第一步:建立本地仓库用于push到远处仓Git@OSC上,若是已经有本地仓库的能够忽略此步; git

       1.随意建立一个本地项目StudyGit,用于测试: vim

        # mkdir -p StudyGit/src/com/study/lynn
windows

        mkdir -p StudyGit/src/com/study/zeng 服务器

        cd ./StudyGit
ssh

        vim ReadMe.md
测试

        cd ./StudyGit/src/com/study/lynn
spa

        vim FirstActivity.java
.net

        cd ./StudyGit/src/com/study/zeng

        vim SecondActivity.java

     以上操做建立了一个目录结构以下的项目:(我是在root帐号的家目录下建立了一个StudyGit项目)

              

        2.为StudyGit项目建立本地仓库,进入StudyGit项目根目录,在根目录下执行以下操做:

             # git init      //此时只是根据StudyGit项目目录结构作了部分初始工做,StudyGit项目的文件还没被最终及提交到本地仓库。

             

         3.将StudyGit项目中的文件提交到本地仓库:

                # git add src/

                # git add ReadMe.md            //将src目录下的文件和Readme.md文件加入暂存区

                # git commit -a -m "初次提交"    //此时本地仓库中已经保存有StudyGit项目的记录了,接下来能够将本地仓库中内容push到远程仓库了。

                

第二步:为当前用户(个人是root用户)建立ssh链接公钥,并将公钥添加在添加在我的的Git@OSC帐号下,用于向远程服务器push时的验证

         1.进入root的家目录(/root/.ssh)中会有一个 .ssh 的隐藏目录(安装Git后在每一个帐号的用户目录下都会有这个文件夹,若是是windors下的msysgit的话,通常在C:\Users\用户名\.ssh下),里面有两个文件 id_rsa 和 id_rsa.pub ,其中id_rsa.pub中的内容就是咱们要的公钥;若是没有这两个文件,或者以为不保险能够直接删了经过下面命令从新建立:

                # ssh-keygen    //执行该命令后,途中还须要按三次回车,后两次是输入密码,能够随便输两次要一致,为了方即可以不输入,直接回车;

                

            2.进入id_rsa.pub文件,将其中所有内容复制添加在你我的Git@OSC帐号下的公钥中保存(保存时须要输入你的帐户密码);

                

        3.验证下公钥是否添加成功:

                #ssh -T git@git.oschina.net            //中途会询问是否链接,输入yes回车,Welcome 表示已经链接成功

                

第三步:为StudyGit项目添加远程仓库,并将本地仓库中代码push到远程仓库:

        1.在Git@OSC上建立一个StudyGit的项目仓库做为远程仓库使用,不必定要叫StudyGit其余名字应该也能够(没试过);        

        2.进入StudyGit的根目录,为本项目添加远程仓库(注意必定要进入到StudyGit项目的目录内,不必定要是根目录,子目录也能够):

               # git remote add osc git@git.oschina.net:flan/StudyGit.git        //1."osc"是远程仓库地址的别名(不是远程仓库上项目的名字)能够随便起,默认是origin;2. git@git.oschina.net:flan/StudyGit.git 注意冒号后面的“flan”,是osc为各个帐号分配的路径,个人远程仓库路径是http://git.oschina.net/flan/StudyGit.git,因此冒号后是flan,不一样帐号会不一样请注意更改;3.StudyGit.git 是刚刚在git.oschina.net上建立的远程仓库

               # git remote -v          //能够查看添加的远程仓库

               

        3.将本地仓库push到Git@OSC上的远程仓库:

               # git push osc master                //"osc" 是刚刚建立的远程仓库名,“master”是本地仓库的主干分支(目前也只有这一个分支,没有其余分支)

               


如今,已经完成将本地仓库push到Git@OSC上,若是对其中用到的git命令不明白的能够参看http://git.oschina.net/progit/ 。第一次写博客有什么错误欢迎指出!

相关文章
相关标签/搜索