GIT的一篇终极教程

2020-01-10  本文已影响0人  前端组件库

我们在这一篇文章里详细讲述GIT以及使用方法。

1.什么是GIT

GIT就是一个版本管理系统,为了应对几个需要而诞生,第一是保存代码的历史,使得开发者能够在本地或者云端保存不同的版本,以免不时之需。例如,写了一个错误代码使得整个工程不能正常运行,用不同的版本来发布不同功能的代码系统等。第二是协同工作,一个团队在共同做一个项目,如果多人能够协同,则会大大提高效率。我们会在下面的文字中详细讲述其应用。

GIT的可以分为本地和云端的两种。如果你需要把代码放到云端,那么就要用到GITHUB的服务了,它的收费模式很简单,如果是公开的则不收费,如果是收费的则是不公开的。GIT和github是不同的概念,github是多个能存放你代码的服务之一。

2.安装GIT

打开git-scm.com,然后下载相应平台的软件,安装就可以了,傻瓜式的安装。
打开git bash,如果是MAC系统的话直接打开终端就可以了。输入命令
git --version,如果有结果返回的话表明安装成功。

3.设置账号并初始化

首先我们设置下名称和邮箱:
git config --global user.name "你的名称"
这个最好跟你注册github时候的用户名一致
git config --global user.email "你的邮箱"
这个最好跟你注册github时候的邮箱一致
这样我们就在本地设置完git了。下一步我们创建我们的工作文件夹。新建一个文件夹,在终端进入这个文件夹,执行git init命令,开始跟踪这个文件夹所有的变化。

这时如果我们创建一个文件,并进行一个小的修改,执行命令git status,我们就看到了有变化的文件。

4.github操作

github可以作为远程的存储代码的服务器。注册非常简单,到github.com注册就可以了。里面的仓库分为公开和私有的,这里虽然说是公开,并不是说所有人都可以在上面push和pull. 公开只表明每个人都可以看见。不过有些服务如bitbucket可以创建私有的仓库。

从命令行登录github

注册完成之后我们所要做的第一件事情就是创建仓库。我们可以直接在网页上操作。只要起个名称就可以了,描述可以为空。README的文件可以选择性创建,
README作为一个解释性文件,格式是markdown的。

下面我们用git clone命令下载一个仓库,格式是:
git clone github的文件连接,通常以.git结尾,这个命令从github上下载我们要的文件。

然后我们把刚才创建的仓库网址拷贝下来,用命令来设置push的仓库位置。因为git默认认为,你要push的位置就是原来的位置,所以我们要设定下自己的仓库位置才行,当然我们并没有别的仓库的push权限。格式是:

git remote set-url origin 你的仓库地址

这样我们再用git remote -v就可以看见fetch和push的网址都变为我们的了。然后再执行git push origin master便可以把我们刚才的仓库文件上传到我们的仓库了。我们再刷新下我们的仓库页面就可以看见文件了。

这样我们再修改这个文件,直接执行这个命令就可以再此上传到github了。

5.如何返回到任何一个版本的commit

首先我们用git log来显示所有的commit,返回的结果如下图:

root@debian:/home/debian/test-project# git log
commit <last commit hash>
Author: Isabel Costa <example@email.com>
Date:   Sun Feb 4 21:57:40 2018 +0000

<commit message>

commit <before last commit hash>
Author: Isabel Costa <example@email.com>
Date:   Sun Feb 4 21:42:26 2018 +0000
<commit message>

我们可以用git log online显示得更人性化一点:

<上一个 commit hash> <注释>
cdb76bf Added another feature
d425161 Added one feature

这样我们可以用这个hash码来返回上一个commit版本,或者任何一个commit版本。只需要执行下面得命令:

git checkout <commit hash>

6.取消上一个commit

直接执行这个格式的命令:

git revert <commit hash>
git checkout <current branch>

7.拉取并覆盖本地的所有文件

git fetch origin master
git reset --hard FETCH_HEAD
git clean -df

master可以改成你的分支名称

8. 如果你和别人修改同一个仓库的文件,有冲突的话需要解决冲突,也就是接受更改的话怎么办?

git stash
git pull
git stash pop

文件冲突的地方会自动标出,然后你要决定取舍

9. 显示当前的分支

git rev-parse --abbrev-ref HEAD

附件:一些常用GIT命令和专用语

git init: 在你的工作文件夹执行的第一个命令使得git开始在这个文件夹工作。

git status: 列出有变化的文件
git add -A: 把有变动的所有文件加到stage。我们如果只想加一个文件,那么格式是git add 文件名,如果想加多个文件,那么
git commit -m "注释语" :存储版本
git checkout -- . 返回最初版本
git clone: 从云端下载相应仓库文件
git push origin master : 把主枝上传到github
git pull origin master: 从云端下载最新版本的代码
git push -u origin master: 这里如果没有登录的话通常会显示一个用户名密码的登录框。
git remote add origin 远程仓库连接,通常以.git结尾。 把远程仓库添加到本地上传目标路径里。
git clone github的文件连接,通常以.git结尾,这个命令从github上下载我们要的文件。
git remote -v: 显示从哪里下载的文件,push到哪里去
git log: 查看所有的commit历史
git log --oneline:一行显示commit历史,比较人性化

  1. repository: 仓库,相当于一个项目
  2. staging: 将文件纳入到版本变化中的阶段,通常在commit前要进行一下staging.
  3. commit: 作为一个版本存储起来,后面通常加一个注释,也就是-m然后把相应的版本注释一下。我们在github上可以看到保存历史,例如你的同事进行了修改,在代码端会看到用不同颜色来标记。
  4. working directory: 工作文件夹,在本地的工程文件夹。
  5. push:传到云端上
  6. pull: 从云端上下载
  7. branch: 代码的分支,分支可以和主枝合并
上一篇 下一篇

猜你喜欢

热点阅读