Git学习笔记---安装与初始化 连接远程版本库
1.Git的安装
sudo apt-get install git
用的是linux(ubuntu)系统,安装非常简单,上面一条命令就够了。

2.初次运行的配置
Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
(a) /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
(b) ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
(c) 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
我用的是 --global 所以对应的是上面的(b)选项,在我的home目录下:

配置好了之后可以查看下配置信息,这条命令会显示所有配置
git config --list
3.本地版本库的基本操作:add与commit
下面就从一个空目录开始初始化版本库,这个版本库命名为“demo”,首先建立一个新的工作目录,进入该目录后,执行git init创建版本库。
mkdir demo
cd demo
git init
实际上,如果Git的版本是1.6.5或更新的版本,可以在git init命令的后面直接输入目录名称,自动完成目录的创建。
git init demo
从上面版本库初始化后的输出中,可以看到执行git init命令在工作区创建了隐藏目录.git。
接下来我们在demo目录下新建一个main.c文件文件中写入下面的内容:
#include<stdio.h>
int main(){
printf("hello world!");
return ;
}
为了将这个新建立的文件添加到版本库,需要执行下面的命令:
git add main.c
把当前目录下所有的文件add到仓库中可以用下面的命令:
git add .
执行add操作就把main.c文件添加到了版本库的“暂存区”,这时并不是真正的添加到了版本库,执行commit之后才算将文件添加到版本库。
git commit -m "my first commit"
上面的-m参数是说明本次提交的解释性文字,git是强制执行的。关于git的暂存区,可以去这里参考下【暂存区】。
4.连接远程版本库
以github为例,连接github的时候可以使用https协议,也可以使用ssh协议,如果是https,需要每次输入账号密码,如果使用ssh就没有这么麻烦。生成ssh公钥的命令:
ssh-keygen -t rsa -C "your_email@example.com"
本地与远程版本库的连接有两种,一种是先在github等类似网站上创建好然后clong到本地,另一种是本地已经创建好了版本库连接到远程。
(a) clong
clong的应用场景是,本地没有任何仓库,远程已经存在仓库,执行clong命令后可以在本地创建一个仓库。
clong的命令:
git clone <url>
<url>是远程仓库的url地址,下图是github上微软.net core项目的仓库,红框的内容,就是远程仓库的url。

在本地执行 git clong https://github.comdotnet/core.git 就能把这个项目clong到本地。这会在当前目录下创建一个名为 “dotnet” 的目录,并在这个目录下初始化一个 .git 文件夹,从远程仓库拉取下所有数据放入 .git 文件夹,然后从中读取最新版本的文件的拷贝。 如果你进入到这个新建的 dotnet 文件夹,你会发现所有的项目文件已经在里面了,准备就绪等待后续的开发和使用。
如果你想在克隆远程仓库的时候,自定义本地仓库的名字,你可以使用如下命令:
git clone https://github.com/dotnet/core.git mydotnet
这样就会在本地创建一个名叫mydotnet的仓库(实际上就是换了一个名字)。
实际操作如下图(我在github上创建了一个名为domo的空仓库来作演示):

(b) 本地已经有版本库的情况
为本地仓库添加一个远程仓库的命令:
git remote add <shortname> <url>
<short name>是我们为这个远程仓库指定的简写名称,例如好多都是默认origin。
<url>指的就是远程仓库的地址比如 https://github.com/paulboone/ticgit 。
5.与远程版本库的交互操作
(a)从远程仓库中抓取与拉取
git fetch <remote-name>
这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。
如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 必须注意 git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。
(b)推送到远程仓库
git push <remote-name> <branch-name>
(c)查看远程仓库
git remote show <remote-name>
参考:
https://git-scm.com/book/zh/v2
http://www.worldhello.net/gotgit/index.html
https://gitee.com/help/articles/4122
git的常用命令 http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
github的文档 : https://help.github.com/cn/github/using-git/learning-about-git
Git学习笔记---安装与初始化 连接远程版本库的更多相关文章
- GIT学习笔记(1):创建版本库
GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...
- GIT学习笔记(4):远程分支
GIT学习笔记(4):远程分支 远程分支 远程分支是什么 远程分支是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在GIT进行网络交互时才会更新.远程分支就是书签,提醒着你上次连接远程仓 ...
- Git学习笔记(4)——添加远程仓库,克隆远程库,以及库的推送
本文记录了远程库的连接和库的克隆和推送. 远程仓库简介 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且 ...
- git 学习笔记 ---安装
Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). 安装Git 在Linux上安装Git 首先,你可以试着输入git,看看系统有没有安装Git: $ git The progr ...
- GIT使用—创建并使用远程版本库
远程版本库 (1)创建一个裸版本库 [root@localhost tmp]# git init fluff2 Initialized empty Git repository in /tmp/flu ...
- GIT学习笔记(2):时光机穿梭与远程仓库
GIT学习笔记(2):时光机穿梭与远程仓库 撤销操作 1.GIT如何跟踪修改 在我们修改了代码内容后,执行了git add和git commit命令来将其交由Git进行版本控制.我们前面举的例子是这样 ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- [转]Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
随机推荐
- 水题B
国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间.如下图所示: 王.后.车.象的走子规则如下: 王:横.直.斜都可以走,但每步限走一格. 后:横.直.斜都可以走,每步格数不受限制. 车:横 ...
- anconda1.8+cuda9.0+cudnn7.0.5+tensorflow1.7(win10)安装
1.下载安装cuda9.0 https://developer.nvidia.com/cuda-90-download-archive 2.下载cudnn7.0.5,下载cuda9.0的对应版本 ht ...
- html5-超级链接
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Codeforces Round #322 (Div. 2) E F
E. Kojiro and Furrari 题意说的是 在一条直线上 有n个加油站, 每加一单位体积的汽油 可以走1km 然后每个加油站只有一种类型的汽油,汽油的种类有3种 求从起点出发到达终点要求使 ...
- C#操作XML方法详解
using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml. ...
- Life Winner Bo (博弈论)
kind:维持让对手处于(奇数,奇数)的状态,就能赢. rook:维持让对手处于(A,A)相等的状态,就能赢. knight:画图找规律,没有到达终点的就是平局. queen:威佐夫博弈论,终点不一样 ...
- RabbitMQ生产者消费者
package com.ra.car.rabbitMQ; import java.io.IOException; import java.util.HashMap; import java.util. ...
- 【2017-03-23】CSS基础:内联样式
CSS:层叠式样式表 1.对层标签整体进行操作 <div style="width:200px;height:200px;background-color:blue"> ...
- 【Hbase学习之三】Hbase Java API
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-2.6.5 hbase-0.98.12.1-h ...
- 孤立森林(Isolation Forest)
前言随着机器学习近年来的流行,尤其是深度学习的火热.机器学习算法在很多领域的应用越来越普遍.最近,我在一家广告公司做广告点击反作弊算法研究工作.想到了异常检测算法,并且上网调研发现有一个算法非常火爆, ...