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的你有所帮助 一,首先, ...
随机推荐
- 华为/H3C Syslog配置
H3C交换机的设置举例1. 组网需求将系统的日志信息发送到 linux 日志主机:日志主机的IP 地址为1.2.0.1/16:信息级别高于等于 informational 的日志信息将会发送到日志主机 ...
- 洛谷—— P2015 二叉苹果树
https://www.luogu.org/problem/show?pid=2015 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点 ...
- gh-ost 号称是不需要触发器(Triggerless)支持的在线更改表结构的工具
https://segmentfault.com/a/1190000006158503?utm_source=tuicool&utm_medium=referral
- [Cypress] Interact with Hidden Elements in a Cypress Test
We often only show UI elements as a result of some user interaction. Cypress detects visibility and ...
- Android学习之6.0系统执行时权限设置
今天讲讲工作中遇见的6.0运行时权限处理问题.起因就是设置版本号更新时,在6.0系统会报错,起因就是6.0动态权限设置,由于在google为了安全考虑,对于一些特定权限会征询客户授权,这当然会大大添加 ...
- swift 拼图小游戏
依据这位朋友的拼图小游戏改编 http://tangchaolizi.blog.51cto.com/3126463/1571616 改编主要地方是: 原本着我仁兄的代码时支持拖动小图块来移动的,我參照 ...
- linux各种IPC机制(进程通信)
linux各种IPC机制 (2011-07-08 16:58:35) 原文地址:linux各种IPC机制(转)作者:jianpengliu 原帖发表在IBM的developerworks网站 ...
- hdu1704——floyd
Problem Description there are N ACMers in HDU team.ZJPCPC Sunny Cup 2007 is coming, and lcy want to ...
- 【POJ 1475】 Pushing Boxes
[题目链接] http://poj.org/problem?id=1475 [算法] 双重BFS [代码] #include <algorithm> #include <bitset ...
- B1800 [Ahoi2009]fly 飞行棋 数学模拟
20分钟一遍AC,大水题,我的算法比较复杂,但是好理解,就是找可以凑出来一半周长的点来暴力枚举就行了. 题干: Description 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依 ...