向 GitHub 提交代码(window)

原创作者stormzhang,个人博客:http://stormzhang.com 

以下是我的理解:

GitHub一般都是基于SSH授权的,SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置。

 

生成SSH

在window下 安装GitBash也是带了SSH的 在GitBash里面输入ssh:


紧接着输入 ssh-keygen -t rsa ,什么意思呢?就是指定 rsa 算法生成密钥,接着连续三个回车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件生成的默认目录也会有提示,我的是C:\Users\Administrator\.ssh,原文说是隐藏的文件,但我这并没有隐藏


在GitHub上添加SSH key   跟原文一样

SSH key 添加成功之后,输入 ssh -T git@github.com 进行测试:


在后面直接写yes(我也不知道原因,凭感觉)


下面就直接来说提交代码了:

讲到这,这里有两种提交代码的方式


第一种是新建一个文件夹,然后Git Bash定位到这个文件夹,然后执行如下命令:

git clone https://github.com/wk1995/test.git

后面的那串叫做仓库地址 获取的方法:


执行那串命令后,这仓库就保存到那个文件夹里面了。然后再定位到保存的那个仓库,例如这个例子的test,定位到该文件下的test,因为新建的文件夹并不是个仓库,而保存的那个文件夹才是,


这样就把 test 项目 clone 到了本地,你可以把 clone 命令理解为高级点的复制,这个时候该项目本身就已经是一个git 仓库了,不需要执行 git init 进行初始化,而且甚至都已经关联好了远程仓库,执行完之后就可以发现新建的文件夹下有个test文件夹,然后再这个test文件夹下修改,增加,删除

把修改后的文件git add 后,再git commit

 

然后再上传,执行如下命令:

git push origin master


 这里的origin 是给这个项目的远程仓库起的名字,这个名字你可以随便取,只不过大家公认的只有一个远程仓库时名字就是 origin ,为什么要给远程仓库取名字?因为我们可能一个项目有多个远程仓库?比如 GitHub 一个,比如公司一个,这样的话提交到不同的远程仓库就需要指定不同的仓库名字了。

我当时就是没有切换到新建文件加下的test文件夹,导致一直都是失败。

如果我们本地已经有一个完整的 git 仓库,并且已经进行了很多次 commit,这个时候第一种方法就不适合了。这时候就要用第二种方法了

第一步就是在 GitHub 上建一个 wk 项目,这里得注意,建这个wk项目的时候,按默认的来就行,不用勾什么,只要写好项目名就行了,否则执行下面的步骤的时候就会出现


第二步把本地 wk项目与 GitHub 上的 wk项目进行关联,切换到 wk目录,执行如下命
令:

查看我们当前项目有哪些远程仓库可以执行如下命令:
git remote -v
接下来,我们本地的仓库就可以向远程仓库进行代码提交了:
git push origin master
就是默认向 GitHub 上的 wk目录提交了代码,而这个代码是在 master 分支。当然你可以提交到指定的分支。但这里注意的是,因为是本地首次传到远程仓库,并不需要执行

git pull origin master 这代码


这样就传上去了,可以到网站去看看有没有新添加进文件

值得注意的是,把本地wk项目里面的文件删了,重新新建一个文件,依次执行 rm ,add ,commit,pull ,push,那远程仓库会与之同步(每步后用git status 执行看看状态,在push 前面先执行pull,一样的效果,建议用pull)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值