Git常用命令及用法

Git 常用命令:

git init 创库初始化。

git add 【文件名称】 添加更改的文件 后加上 . 为添加所有文件(git add .)适用于在远处创建仓库后clone到本地,再到本地对应文件下添加整个文件项目,可方便上传到远程库中。

git commit 提交你所有添加的文件

git push origin master提交本地仓库到远处链接仓库。

创建版本库

mkdir testgit && cd test git

git init

你会发现对应文件下多了个 .git 文件 这说明你已经创建成功,并且已经初始化仓库完成了。

把文件添加到版本库

gittext.md

git add gittext.md

然后用命令git commit告诉Git把文件提交到仓库:

git commit -m “wrote a readme file”

git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

一次可以add多个不同的文件,以空格分隔: > git add a.txt b.txt c.txt

仓库状态

git status

git status命令可以让我们时刻掌握仓库当前的状态。

但如果能看看具体修改了什么内容就更好了: > git git diff gittext.md

版本回退

某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看: > git log

image

git log命令显示从最近到最远的提交日志。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数: > git log –pretty=oneline

image

一大串类似2e70fd…376315的就是commit id(版本号)

在 Git中,用HEAD表示当前版本,也就是最新的提交commit id,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

把当前版本回退到上一个版本,就可以使用git reset命令: > git reset –hard HEAD^ git log再看看现在版本库的状态,最新的那个版本已经看不到了!

imgae

如果你又反悔了,git是有反悔药吃的。

假设找到那个commit id是2e70fdf…,于是就可以指定回到未来的某个版本: > git reset –hard 2e70fdf

此处注意版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

Git提供了一个命令git reflog用来记录你的每一次命令: > git reflog

image

远程仓库 git clone 到本地

你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的 项目,但是你没法提交代码。

提交代码之前一定是需要某种授权 的,而 GitHub 上一般都是基于 SSH 授权的。

关于SSH key生成自行查找。

添加 SSH key 成功之后,我们就有权限向 GitHub 上我们自己的项目提交代码了,而提交代 码有两种方法:

1 推荐使用. Clone自己的项目 我们以我在 GitHub 上创建的 test 项目为例,执行如下命令:

git clone git@github.com:driverzhang/fooderCard.git

我这里用得是SSH 链接。

把项目 clone 到了本地,这个时候该 项目本身就已经是一个git 仓库了,不需要执行 git init 进行初始化,而且甚至都已经关联好了 远程仓库,我们只需要在这个项目的 目录下任意修改或者添加文件后执行以下命令: > git add .

git commit -m “你的描述”

git push origin master

进行代码提交,这种是最简单方便的一种方式。

2.关联本地已有项目

假设我们本地有个 test2 的项目,我们需要的是在 GitHub 上建一个 test 的项目,然后把本地 test2 上的所有代码 commit 记录提交到 GitHub 上的 test 项目。

第一步:就是在 GitHub 上建一个 test 项目,这个想必大家都会了,就不用多讲了。

第二步:把本地 test2 项目与 GitHub 上的 test 项目进行关联,切换到 test2 目录,执行如下命 令: > git remote add git@github.com:driverzhang/fooderCard.git

就是添加一个远程仓库,他的地址是 git@github.com:driverzhang/fooderCard.git, 而 origin 是给这个项目的远程仓库起的名字,是的,名字你可以随便取,只不过大家公认的 只有一个远程仓库时名字就是 origin ,为什么要给远程仓库取名字?因为我们可能一个项目 有多个远程仓库?比如 GitHub 一个,比如公司一个,这样的话提交到不同的远程仓库就需要 指定不同的仓库名字了。

查看我们当前项目有哪些远程仓库可以执行如下命令: > git remote -v

进行提交: > git push origin master

默认向 GitHub 上的 test 目录提交了代码,而这个代码是在 master 分支。当然你可以提 交到指定的分支,这个之后的文章再详细讲解。

Git