git_仓库
本地仓库
仓库(repository)可以理解成一个目录,这个目录里面的所有文件都可以被git管理起来,每个文件的修改删除git都能进行跟踪。
创建一个空目录---进入文件下---查看当前路径,当前路径即这个仓库所在的位置
$ mkdir learngit
$ cd learngit
$ pwd
通过git init把这个目录变成git可以管理的仓库,该目录下会多了一个.git目录,这个目录是用来跟踪管理版本库的
$ git init
新建一个readme.txt文件,将该文件放在learngit目录下,把文件添加到仓库---把文件提交到仓库
$ git add readme.txt
$ git commit -m "wrote a readme file"
'-m' 后面输入的是本次提交的说明,可以输入任意内容,git commit命令执行成功后会告诉你,1个文件被改动,插入了2行内容(如果你的readme.txt)有两行内容的话,git commit可以一次提交多个文件,因此可以进行如下操作
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
远程仓库
SSH key 设置
如果想要分享本地仓库的内容,我们就需要一个运行git的远程仓库,这个仓库的作用是充当服务器的角色,每天24小时开机,其他每个人都可以从这个服务器仓库克隆一份到自己的电脑上,并且把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交,github就是这样一个提供托管服务的远程仓库。
首先你需要注册一个github账号,接下来需要将你的本地git仓库和github仓库进行连接设置。由于本地仓库和远程仓库之间的传输是通过SSH加密的,所以需要SSH KEY
使用如下命令创建SSH KEY
$ ssh-keygen -t rsa -C "user@email.com"
命令执行完成后,在主账户的目录下查看是否.ssh目录,其中有id_rsa和id_rsa.pub两个文件,这两个就是SSH KEY的密钥对,id_rsa是私钥不能泄露出去,id_rsa是公钥,可以用于连接设置。
登录github,点击settings-SSH and GPG keys,SSH keys下输入Title(自定义),key文本框里输入id_rsa.pub文件里的内容,点击add key添加完成。添加成功后即可在自己电脑进行推送了。只有添加了SSH key的电脑才能远程推送到github。不过github允许添加多个key,这表示你可以通过多台电脑往github进行推送
关联远程仓库
SSH key 配置成功后,即可往远程仓库进行推送。此时本地已有一个名为'learngit'的仓库,我们需要在githun建立一个仓库,登录github,点击'create a new repo',在repository name输入仓库名称'learngit',其他保持默认设置,点击'create repository'即可成功创建仓库。新建的这个仓库目前还是空的,我们可以从这个仓库克隆出新的仓库,也可以把本地仓库的内容推送到远程仓库。
从本地仓库推送到远程仓库
在本地的仓库执行如下命令,将本地仓库与远程仓库'learngit'进行关联,'origin'是远程仓库的别名,这是git默认的名字,也可以起别的名字,以便将来引用
$ git remote add origin git@github.com:Leila2Utopia/learngit.git
接下来就可以把本地仓库的内容推送到远程仓库上,由于远程仓库是空的,第一次推送时加上'-u'参数表示,git不但会把本地的master分支推送到远程仓库的mater分支,还会把这两个分支关联起来。
$ git push -u origin master
推送成功后,在github页面可以看到和本地仓库相同的内容。从现在起,只要本地做了提交,只要执行如下命令,即可将本地master分支的最新修改添加到github远程仓库
$ git push origin master
当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告,这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了,这个警告只会出现一次,后面的操作就不会有任何警告了
SSH 警告
从远程库克隆
前面描述的是如何将本地仓库推送到远程仓库,接下来我们将会讨论如何将远程仓库的内容克隆到本地仓库。
首先在github新建仓库'newgit',创建成功后在本地仓库用命令克隆一个本地库即可
$ git clone git@github.com:Leila2Utopia/newgit.git
git_仓库的更多相关文章
- github之克隆
git clone --depth=10 git_仓库_url 只会获取最近 xx(10条提交记录的)代码,默认是master分支, 如果想要指定分支,可以结合 -b --single--branch ...
- Git_远程仓库
到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Gi ...
- Git_远程仓库fork操作
fork操作:当选择 fork,相当于自己有了一份原项目的拷贝,当然这个拷贝只是针对当时的项目文件,如果后续原项目文件发生改变,你必须通过其他的方式去同步. 使用场景:一般来说,不需要使用 fork ...
- Git_添加、删除远端仓库中的文件
一.将文件添加到远端仓库 1.新增文件 2.使用git add 将文件添加到本地缓存中 3.使用git commit 将文件添加到本地仓库中 4.使用git push 将本地仓库中的修改同步到远端仓库 ...
- Git_使用SSH密钥操作远端仓库
git支持多种传输协议,ssh协议是其中一种. 初次使用git的用户要使用ssh协议大概需要三个步骤: 生成密钥 设置远程仓库(本文以github为例)上的公钥 把git的 remote url 修改 ...
- Git_同一个本地仓库上传到不同的远端仓库(github、gitee)
一.背景 github访问.推拉代码都太慢了,于是想把github上面的项目全部迁移到gitee(码云)上,但又不想放弃在github上维护项目,于是想同时维护两个远端仓库 二.准备工作 1.创建相同 ...
- Git_学习_07_ 推送修改到远端
一.操作流程 多人协作时,若自己的本地代码有了修改,想提交自己的代码,就需要按照以下步骤操作: 1.确认修改正确 使用以下命令,查看有哪些是自己未提交的代码 git status 2.拉取远程最新代码 ...
- 【社工】NodeJS 应用仓库钓鱼
前言 城堡总是从内部攻破的.再强大的系统,也得通过人来控制.如果将入侵直接从人这个环节发起,那么再坚固的防线,也都成为摆设. 下面分享一个例子,利用应用仓库,渗透到开发人员的系统中. 应用仓库 应用仓 ...
- 使用github远程仓库
经过几天对github的研究,终于把自己想完成的给解决了,发现google真的有很多解释,但是很多也会出现一些bug,对于初学者真的很多烦恼,所以整理一份,能给初识github的你有所帮助 一,首先, ...
随机推荐
- MVC.Net5:添加Tinymce的图片上传功能
Tinymce是目前几个主流的Web文本编辑器之一,不过它的图片上传功能是要收费的,而其它几个免费的上传图片的插件支持的都是PHP.那么就只能自己动手写一个了(源代码下载). 准备工作如下:1. ...
- ubuntu 关于sublime text3的一些应用
安装 如今能够通过ppa的方法来安装sublime text3 了,个人感觉就是有有点儿慢,毕竟要update一下. sudo add-apt-repository ppa:webupd8team/s ...
- Java 设计模式—装饰者模式
在Java编程语言中,嵌套了非常多设计模式的思想,比如IO流中的缓冲流就使用到以下要介绍的装饰者设计模式. 演示样例代码: * 抽象构件角色:定义一个抽象接口,来规范准备附加功能的类 * @autho ...
- 初识ASP.NET---点滴的积累---ASP.NET学习小结
差点儿相同十多天前学习完了北大青鸟的学习视频,没想到没几天的时间就看完了XML视频和牛腩的Javascript视频.学习完了也该总结总结.理理自己的思路.消化一下自己学习到的东西. 视频中的理论知识并 ...
- Test for Job (poj 3249 记忆化搜索)
Language: Default Test for Job Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 9733 A ...
- 【面试题】Redis相关
1.Redis与Memorycache的区别? Redis使用单线程,而Memcached是多线程, Redis使用现场申请内存的方式来存储数据,并且可以配置虚拟内存:Memcached使用预分配的内 ...
- WinForm中的ListBox组件编程
ListBox组件是一个程序设计中经常使用到的组件,在Visual C#和Visual Basic .Net程序中使用这个组件,必须要在程序中导入.Net FrameWork SDK中名称空间Syst ...
- poj 1741(树的点分治)
Tree Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dis ...
- ZOJ 2314 无源汇可行流(输出方案)
Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge The terrorist group leaded by a ...
- 444D
分类 首先我们要对询问分类,如果相差log级别就第一种询问,否则第二种. 第一种直接暴力lower_bound,复杂度玄学 第二种归并,复杂度玄学 但是就是过了.感觉很容易卡. #include< ...