Git学习笔记---安装与初始化 连接远程版本库

时间:2021-05-25 12:19:06

1.Git的安装

sudo apt-get install git

用的是linux(ubuntu)系统,安装非常简单,上面一条命令就够了。

Git学习笔记---安装与初始化 连接远程版本库

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学习笔记---安装与初始化 连接远程版本库

配置好了之后可以查看下配置信息,这条命令会显示所有配置

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学习笔记---安装与初始化 连接远程版本库

在本地执行 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学习笔记---安装与初始化 连接远程版本库

【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