Git基础操作

一、流程与概念

首先在使用git之前我们需要了解它的几个概念和基础使用流程,在git操作中有四个重要的地方,你所有的操作都是在和他们打交道。

  • workspace : 工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
  • index : 暂存区 , 一个本地的缓冲区。暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索引’',不过一般说法还是叫暂存区域。
  • local repository : 本地仓库,里面有远程分支和本地分支, 处于本地,你不可以直接对其经行修改
  • remote repository :  远程仓库是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

流程图:

二、安装git

在不同的操作系统上安装方式不同

Debian/Ubuntu

apt-get install git

Fedora

yum install git

window需要下载,http://windows.github.com

mac可以通过homebrew来安装

三、配置git

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。你的配置也是要通过该工具完成,当然你也可以通过修改配置文件的方式。

1.配置用户名和邮箱

此处设置的用户名和邮箱可以随意设置,每必要和你的github一模一样,这个只是在提交的时候附加上去,标明这次提交时谁干的,出事了就找这个人。

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

2.配置文件编辑器

如果你对文本编辑器有特殊的习惯,可以配置此项,当 Git 需要你输入信息时会调用它。 如果未配置,Git 会使用操作系统默认的文本编辑器。谨慎配置,如果你对这些编译器不熟悉最好还是保持默认

$ git config --global core.editor Vim

3.配置github

你可以配置github账号和token

git config --global github.user s15603333319
git config --global github.token 241236a041eab12345dcba1df1b6d1c546f24f95

4.查看配置

如果你想检查你的配置,可以使用此命令

git config --list

如果你想查看某一项配置,你需要按照git config <key>的格式,比如查看用户名

git config user.name

5.获取帮助

如果你有什么不懂的可以使用hlep来获取命令的使用方法

$ git help <verb>
$ git <verb> --help

例如想知道config命令的使用方法

$ git help config

四、基础操作

如果你想克隆一份git仓库的代码,你就可以使用git clone [url]

git clone [email protected]:s15603333319/AndroidOpenGL.git

如果你打算使用 Git 来对现有的项目进行管理,你需要使用git init来初始话该项目

git init

使用git add filename来添加文件到暂存区,如果你想添加本目录下所有文件,可以使用git add .

git add .

所有的变更,最终都需要提交,才能在本地持久化报存

git commit -m "提交所附加的信息"

要上传到远程服务器上,你还要指定你的远程仓库地址

git remote add origin https://github.com/s15603333319/AndroidOpenGL.git

最后一步,你就可以把你commit到本地仓库的代码push到远程了,指定分支

git push origin master

五、其它操作

检查当前文件状态

git status

忽略文件

我们总会有一些文件不需要纳入git的管理,这种情况下,我们可以创建一个名为 .gitignore 的文件,在其中列出要忽略的文件样式。

$ cat .gitignore
*.[oa]
*~

熟悉正则表达式的看这个很容易明白,不懂的可以去学一下,正则表达式还是很重要的一个东西的。

第一行告诉 Git 忽略所有以 .o.a 结尾的文件。

第二行告诉 Git 忽略所有以波浪符(~)结尾的文件

文件 .gitignore 的格式规范如下:

  • 所有空行或者以 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表,你可以在 https://github.com/github/gitignore 找到它.

查看提交历史

git log

 他有许多参数可以配置, 比较常用的一个常用的选项是 -p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交。

撤销提交

有时候我们提交信息写错了,或者漏改了一个地方,我们就需要撤销操作。该命令可以覆盖第一次提交的结果

git commit --amend

创建分支

团队开发必然是要创建分支的,不可能大家都在主线上提交和改动

git branch 分支名称

切换分支

git checkout 分支名称

如果你在此命令上加上参数-b 就表示创建并切换此分支

查看分支

git branch

该命令会列出所有分支,前面带*号的那个是当前分支

合并分支

git merge 分支名称

该命令用户合并指定分支到当前分支上

删除分支

git branch -d 分支名字

合并后的分支就可以删掉了,删除分支要谨慎

这些都是使用率比较高的命令,也很基础,如果你对git有更多的要求,可以查看官方文档学习

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章