经过了三天两夜的努力,终于都写到最后一篇了(个人向),前面记录了一些自己应该会用到的东西,最后再记录一下怎么弄远程仓库就OK了,又累又困,简直不能太难受,但是想赶紧把这个东西弄好,想做好使用github的准备,所以就累死累活几天吧~!
远程仓库
什么是远程仓库呢?其实很好理解,相信大家对Github并不陌生,还有GitLab、国内还有码云、Coding等等,这些都是远程仓库,实质就是挂在其他地方的Git仓库;当然自己也可以搭建远程仓库,详细请参考-------->菜鸟教程 - Git远程仓库。
连接远程仓库
以下内容以Github为例子,以后用其他的话再考虑记录。全程在自己的项目文件夹里面操作,这里就省去配置那些不说了,直接去看我之前写的。
添加远程仓库
在使用远程仓库前,要先建立连接,命令格式如下
git remote add [shortname] [url]
//[shortname]是仓库主机名字,可以自定义。
//[url]是远程仓库的链接,在Github上面建立了仓库之后就会给出
SSH加密
Git和Github之间是通过SSH加密连接的,所以要先用命令建立一个SSH密钥
ssh-keygen -t rsa -C "youremail@example.com"
//youremail@example.com处填入邮箱,推荐是你申请github的邮箱,不要删掉双引号
然后出现下面提示:
Enter file in which to save the key (/c/Users/Administration/.ssh/id_rsa):
//键入密钥文件的保存路径,默认(/c/Users/Administration/.ssh/id_rsa),可以更改,但是格式一定要和这里的一样
//注意,路径格式和Windows不太一样,记得不要写错
Enter passphrase (empty for no passphrase):
//键入口令(留空即为没有口令),可直接回车留空
Enter same passphrase again:
//再输入一次口令(如果上面留空这里也直接留空),可直接回车留空
然后到刚刚密钥文件的保存路径,用记事本打开id_rsa.pub文件(推荐用Notepad++)。然后复制里面那串东西。
进入Github并登陆,鼠标指向头像,出现菜单,点击倒数第二个Settings(设置)。然后在左边菜单找到SSH and GPG keys,点击进入之后,找到New SSH key,把刚刚复制的那串东西输入到Key栏就行了,Title可以不填,然后点击Add SSH Key。
回到命令行,输入下面命令:
ssh -T git@github.com
如果出现:Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.那就证明SSH连接建立成功。
建立远程仓库
在Github上面创建仓库,鼠标指向网站头顶的,点击'+'号,点击New repository,然后在Repository name输入你的仓库名字。其他内容为可选项,有兴趣可以自己去了解一下,这里不多说,其实也就是描述,公开还是私有,还有其他的协议什么的。
填好之后点下:Create Repository,仓库就建好了。创建成功后,会出现一堆信息,这些信息其实就是git远程连接命令。之后对着上面的抄就是了。
查看当前远程库:
git remote //此命令只会显示当前远程库主机
git remote -v //这个命令会显示远程库主机和各个别名的实际链接地址
远程库下载新分支与数据
git fetch
下载下来之后可以试试git merge [alias]/[branch]合并一下分支。
当然可以直接用
git pull
就直接执行前面的fetch和merge两个命令了
推送文件到远程库
命令格式:
git push [alias] [branch] //alias:主机名,branch:分支名
例子:
git push origin master //把master推送到github的上
git push -u origin master //把master推送到github的上,并设定origin为默认主机,下次就不用输入origin了
出现某些报错的时候,可以尝试把-u改成--force
删除远程仓库
git remote rm [别名]
参考资料
- 菜鸟教程 - Git 远程仓库(Github)
- 新手问题 git pull 和 git fetch 有什么区别?
- 小白教程:Visual Studio2017配置GitHub图文教程
- Git 里面的 origin 到底代表啥意思?
- git如何避免”warning: LF will be replaced by CRLF“提示?
总结
终于把个人学习的四篇都写完了,可以休息一下继续学PHP了(当然现在还有一些考试的东西要学),亚历山大,不过搞定了一个心头痒就很舒服,Git是个不错的东西!如果有人看到了我的博客,有疵漏的,麻烦评论补充和更正一下谢谢~【评论我后台审核,回复后可能不可见,但只要是参考性的我基本都会放出来的】




0 条评论