一、配置git


在使用git之前你需要配置一下git。

git config --system    #为整个系统配置仓库的通用配置,配置信息在/etc/gitconfig文件(用--system配置的信息,在Linux系统下的所有用户都可使用)
git config --global    #为当前用户配置仓库的通用配置,配置信息在/.gitconfig或/.config/git/config文件(配置在当前用户下信息,在guest用户下不可使用)
git config    #为当前仓库配置信息,配置信息在当前仓库的.git/config文件中

当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:Documents and Settings$USER。
此外,Git 还会尝试找寻 /etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。
配置用户信息:

git config --system user.name username
git config --system user.email email
#或
git config --global user.name username
git config --global user.email email
#或
git config user.name username
git config user.email email

如果用了 –global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 –global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
配置编辑器
设置git默认使用的编辑器,一般可能是Vi或Vim。设置:

git config --global core.editor vim

差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

git config --global merge.tool vimdiff

查看配置信息
要检查已有的配置信息,可以使用git config –list 命令;

git config --list

git初始化、获取git仓库-风君雪科技博客
有时候会看到重复的变量名,那就说明他们来自不同的配置文件(如:/etc/gitconfig和~/.gitconfig),不过后面的会覆盖前面的生效。
这些配置我们可以在/etc/gitconfig或~/.gitconfig看到,如下所示:

vim ~/.gitconfig

git初始化、获取git仓库-风君雪科技博客
也可以直接查看某个变量的值

git config user.name

二、获取git仓库


有两种获取git项目仓库的主要方式。第一种是将已有项目或目录导入或初始化为Git仓库,第二种是从其他服务器(如github,gitee,gitlab等)克隆一个已存在的Git仓库。

1. 在已存在的目录中初始化git仓库

如果你打算使用git来对已有项目进行追踪,你需要进入项目目录右击选择Git Bash Here或者直接启动cmdcd
git初始化、获取git仓库-风君雪科技博客
git初始化、获取git仓库-风君雪科技博客
并输入:git init 按回车即在本地初始化了一个git仓库
git初始化、获取git仓库-风君雪科技博客
git初始化、获取git仓库-风君雪科技博客

该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。 但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。
git初始化、获取git仓库-风君雪科技博客
新建一个Readme.md文件
git初始化、获取git仓库-风君雪科技博客
如果在一个已存在文件的文件夹(而非空文件夹)中进行版本控制,你应该开始追踪这些文件并进行初始提交。 可以通过 git add命令将文件内容添加到索引(暂存区),然后执行 git commit 将更改记录(提交)到存储库(将索引的当前内容与描述更改的用户和日志消息一起存储到新的提交中)。
git初始化、获取git仓库-风君雪科技博客

git add .    #添加目录下的所有内容到下一次提交中,也就是开始跟踪文件,或者把已跟踪的文件放到暂存区
git add Readme.md    #把Readme.md添加进入索引(暂存区)
git commit -m 'my first commit 1.01'    #记录(提交)更改,且给此次提交添加说明(注:这个提交只是提交到了本地仓库)

但此时只是创建了一个本地仓库,我们的目的是要跟远端git仓库连接起来。所以我们应该添加远程主机。

git remote add <name> <url>    #name:不写默认为origin,url:为远程仓库地址
git add . 
git commit -m "注释说明"
#git push <远程主机名><本地仓库或分支名>:<远程分支名>
git push origin master    #将本地的master分支推送到关联主机(默认为origin)的master分支。如果master不存在,则会被新建。

git clone、git remote、git fetch、git pull、git push几个命令的详解:[git远程操作](https://www.ruanyifeng.com/blog/2014/06/git_remote.html)

2. 克隆远端git仓库

如果你使用 git clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。
你可以克隆你自己的git仓库,也可以克隆开源的远程仓库远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支等等)比如克隆Vuejs的版本库:
git初始化、获取git仓库-风君雪科技博客

git clone https://github.com/vuejs/vue.git

该命令会在本机主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数

git clone  <版本库的网址><本地目录名>

git clone支持多种协议,出来https以外,还支持SSH等,如:

git clone https://github.com/vuejs/vue.git

git clone ssh://github.com/vuejs/vue.git

git初始化、获取git仓库-风君雪科技博客
SSH URL通过SSH(一种安全协议)提供对Git存储库的访问。
要使用这些URL,您必须在计算机上生成SSH密钥对,并将公共密钥添加到GitHub帐户。
有关设置SSH密钥对的信息,请参阅[“生成SSH密钥”](https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh)。

来自为知笔记(Wiz)