一、配置

配置用户信息

配置用户名称以及电子邮件地址:

git config --global user.name "用户名"
git config --global user.email 邮箱

例如:

设置GIT仓库的默认路径 git设置本地仓库_Git

配置文本编辑器

例如将vim设置为Git的默认编辑器:

git config --global core.editor vim

查看配置信息

使用 git config --list 查看配置信息,或者直接使用 git config user.name 查看某一指定环境变量的设置。

例如:

设置GIT仓库的默认路径 git设置本地仓库_git_02

二、创建与操作本地仓库

初始化

使用 git init 命令来初始化一个 Git仓库,初始化后,会在该目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。

git init <filename> //可以选择指定目录作为仓库,若没指定即默认为当前目录

例如:

设置GIT仓库的默认路径 git设置本地仓库_远程仓库_03

添加文件

使用 git add 将文件添加到索引库即将修改添加到暂存区,准备为下一次提交分段的内容。

git add filename

提交

将暂存区的文件提交到仓库中。

git commit -m '注释'

例如:

设置GIT仓库的默认路径 git设置本地仓库_git_04

克隆仓库

使用 git clone 从现有 Git 仓库中拷贝项目。

git clone <repo> //克隆到当前目录
git clone <repo> <directory> //克隆到指定的目录

例如:

设置GIT仓库的默认路径 git设置本地仓库_git_05

三、分支管理

创建分支

git branch <branchname>

删除分支

git branch -d <branchname>

查看分支

git branch //列出所有的分支
git branch --merged// 已经合并的分支,其中前面带‘*’的分支表示该分支已合并到当前分支
git branch --no-merged //查看所有包含未合并工作的分支

切换分支

git checkout [branchname]
git checkout -b [branchname] //创建新分支并立即切换到该分支下,从而在该分支中操作

合并分支

git merge [分支名] //将该分支合并到当前分支

四、远程仓库操作

建立远程仓库

首先将SSH Key公钥添加到自己的账号列表中,
步骤如下:

  1. 创建SSH Key。
    在用户主目录下,查看是否有.ssh目录,若有,再看看该目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,则直接进行下一步。
    否则创建SSH Key:

ssh-keygen -t rsa -C "邮箱"

如下:

设置GIT仓库的默认路径 git设置本地仓库_本地仓库_06


在.ssh目录下可以看到 id_rsaid_rsa.pub 两个文件,其中 id_rsa 是私钥,id_rsa.pub 是公钥。

如下:

设置GIT仓库的默认路径 git设置本地仓库_本地仓库_07

  1. 在github上添加账户
    打开设置,在SSH选则添加新的SSH,在Key文本框里粘贴 id_rsa.pub 文件的内容,如下:

然后在Github上建立库,例如:

设置GIT仓库的默认路径 git设置本地仓库_设置GIT仓库的默认路径_08

设置GIT仓库的默认路径 git设置本地仓库_设置GIT仓库的默认路径_09


再在本地的库执行:

git remote add origin git@<你的用户名>/<仓库名>.git

此时,即可通过 push、pull 在本地仓库与远程仓库之间推拉数据了。

push 推送

将本地分支的更新推送到远程主机。

git push <远程主机名> <本地分支名>:<远程分支名>
git push <远程主机名> <远程分支名>
git push -u origin master //将 origin 指定为默认主机

两种设置:

simple

git config --global push.default simple
来自哪个分支即默认推向哪个分支。

matching

git config --global push.default simple
通过分支名称匹配。

pull 拉取

git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin master:hello //将远程主机origin的master分支拉取过来,与本地的hello分支合并。
git pull origin master