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的你有所帮助 一,首先, ...
随机推荐
- hdu 4971 多校10最大权闭合图
/* 很明显的最大权闭合图题 */ #include<stdio.h> #include<string.h> #include<queue> using names ...
- SSM(spring mvc+spring+mybatis)学习路径——1-2、spring事务管理
目录 1-2 Spring事务管理 概念介绍 事务回顾 事务的API介绍 Spring 事务管理 转账案例 编程式事务管理 声明式事务管理 使用XML配置声明式事务 基于tx/aop 使用注解配置声明 ...
- 一次源码编译PHP折腾记
前言LINUX环境下编译安装是很折腾人的一件事情,如果没有C/C++功底,碰到编译器报错,肯定要抓狂了 :):),有些软件需要依赖其它库,必须先把依赖库安装好才能进行软件安装.当你学会了编译安装神技之 ...
- 点评国内各大在线app生成平台
第一个:应用之星-无需编码的在线手机应用开发平台-移动开发平台-Androi应用开发 应用之星是免费的无需编码.基于组件的在线手机应用开发平台,app软件开发平台,手机软件开发平台,为移动开发人员减少 ...
- 代理serverSquid3的配置
1.安装squid3 sudo apt-get install squid3 2,配置squid3 sudo cd /etc/squid3 sudo vim squid.conf /http_acce ...
- Test for Job (poj 3249 记忆化搜索)
Language: Default Test for Job Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 9733 A ...
- iOS - 社会化分享-微信分享,朋友圈分享
我仅仅做了文字和图片分享功能 1. TARGETS - Info - URL Types identifier -> weixin URL Schemes -> 应用id 2.在AppD ...
- ES transport client批量导入
从bulk.txt文件中按行读取,然后bulk导入.首先通过调用client.prepareBulk()实例化一个BulkRequestBuilder对象,调用BulkRequestBuilder对象 ...
- .NET页面事件执行顺序
摘自:http://www.cnblogs.com/kenkofox/archive/2011/03/18/1987998.html和http://blog.csdn.net/yiruoyun/art ...
- (三)Appium-desktop 打包
appium-desktop经过二次开发后,需要打包为应用提供给其它同学使用.我们知道appium-desktop是使用electron来构建跨平台桌面应用程序.electron有electron-p ...