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的空仓库来作演示):

【git参考】

【码云上的与此相关教程】

(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学习笔记---安装与初始化 连接远程版本库的更多相关文章

  1. GIT学习笔记(1):创建版本库

    GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...

  2. GIT学习笔记(4):远程分支

    GIT学习笔记(4):远程分支 远程分支 远程分支是什么 远程分支是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在GIT进行网络交互时才会更新.远程分支就是书签,提醒着你上次连接远程仓 ...

  3. Git学习笔记(4)——添加远程仓库,克隆远程库,以及库的推送

    本文记录了远程库的连接和库的克隆和推送. 远程仓库简介 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且 ...

  4. git 学习笔记 ---安装

    Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). 安装Git 在Linux上安装Git 首先,你可以试着输入git,看看系统有没有安装Git: $ git The progr ...

  5. GIT使用—创建并使用远程版本库

    远程版本库 (1)创建一个裸版本库 [root@localhost tmp]# git init fluff2 Initialized empty Git repository in /tmp/flu ...

  6. GIT学习笔记(2):时光机穿梭与远程仓库

    GIT学习笔记(2):时光机穿梭与远程仓库 撤销操作 1.GIT如何跟踪修改 在我们修改了代码内容后,执行了git add和git commit命令来将其交由Git进行版本控制.我们前面举的例子是这样 ...

  7. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  8. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  9. [转]Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

随机推荐

  1. ssh简单入门级案例教程

    准备工作:struts2.3.34+spring4.2.2+hibernate3.3.2 导入需要的开发包: struts开发包---注意:javassist-3.18.1-GA.jar包与hiber ...

  2. itextsharp display:none无效的bug

    在使用itextsharp实现 html 2 pdf时,发现display:none无效.如 <div style="display: none">应该隐藏</d ...

  3. Unity3d之如何截屏

    Unity3d中有时有截屏的需求,那如何截屏呢,代码如下: /// <summary> /// 截屏 /// </summary> /// <param name=&qu ...

  4. 解决lnmp服务器环境wordpress升级或安装插件主题要输入FTP的方法

    使用lnmp一键安装包搭建的服务器环境运行wordpress,在后台升级WP程序.安装或更新插件主题时,每时提示输入FTP信息,该问题的原因是nginx的执行身份用户组非文件用户组,前面博客吧使用虚拟 ...

  5. JSP知识点

    1.九大内置对象: request HttpServletRequest类的实例 response HttpServletResponse类的实例 out PrintWriter类的实例,用于把结果输 ...

  6. [转]Hive开发经验问答式总结

    本文转载自:http://www.crazyant.net/1625.html 本文是自己开发Hive经验的总结,希望对大家有所帮助,有问题请留言交流. Hive开发经验思维导图 Hive开发经验总结 ...

  7. sqlyog下载

    sqlyog下载(附注册码):http://www.onlinedown.net/soft/24926.htm

  8. 深入剖析Kubernetes k8s

    深入剖析Kubernetes k8s 毫无疑问,Kubernetes 已经成为容器领域当之无愧的事实标准.除了 Google.Microsoft 等技术巨擘们在容器领域里多年的博弈外,国内的 BAT. ...

  9. 深入理解Node.js基于事件驱动的回调

    回调和异步调用的关系 首先明确一点,回调并非是异步调用,回调是一种解决异步函数执行结果的处理方法.在异步调用,如果我们希望将执行的结果返回并且处理时,可以通过回调的方法解决.为了能够更好的区分回调和异 ...

  10. HDU 1207 汉诺塔II (递推)

    经典的汉诺塔问题经常作为一个递归的经典例题存在.可能有人并不知道汉诺塔问题的典故.汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘.上 ...