Git使用教程

官方教程:html

https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Gitgit

csdn完整教程:https://blog.csdn.net/pipisorry/article/details/44588351github

git安装:vim

在 Ubuntu 这类 Debian 体系的系统上,能够用 apt-get 安装:windows

$ apt-get install git

在 Windows 上安装

在 Windows 上安装 Git 一样轻松,有个叫作 msysGit 的项目提供了安装包,能够到 GitHub 的页面上下载 exe 安装文件并运行:编辑器

http://msysgit.github.com/

初次运行 Git 前的配置工具

用户信息

第一个要配置的是你我的的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,因此会随更新内容一块儿被永久归入历史记录:url

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

若是用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,之后你全部的项目都会默认使用这里配置的用户信息。若是要在某个特定的项目中使用其余名字或者电邮,只要去掉 --global选项从新配置便可,新的设定保存在当前项目的 .git/config 文件里。spa

文本编辑器

接下来要设置的是默认使用的文本编辑器。Git 须要你输入一些额外消息的时候,会自动调用一个外部文本编辑器给你用。默认会使用操做系统指定的默认编辑器,通常可能会是 Vi 或者 Vim。若是你有其余偏好,好比 Emacs 的话,能够从新设置:操作系统

$ git config --global core.editor emacs

差别分析工具

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

$ git config --global merge.tool vimdiff

Git 能够理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。固然,你也能够指定使用本身开发的工具,具体怎么作能够参阅第七章。

查看配置信息

要检查已有的配置信息,可使用 git config --list 命令:

$ git config --list
user.name=Scott Chacon
user.email=schacon@gmail.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...

在工做目录中初始化新仓库

要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:

$ git init

忽略指定文件
git提交代码文件时怎么过滤掉某个文件夹,不提交Git工做目录中某些文件。在git add文件以前,有些文件(好比数据文件,>100m就不能push到远程;好比.pyc文件;好比编译过程当中生成的 .o 文件)是咱们并不想加入也无需被添加到 Git 管理中,同时也不但愿他出如今未跟踪列表中。

.gitignore 文件
lz提示一点,至关重要:.gitignore 文件只能做用于 Untracked Files,也就是那些历来没有被 Git 记录过的文件(自添加之后,从未 add 及 commit 过的文件)。.gitignore文件只是ignore没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时必定要先从staged移除。

配置语法
1)以“/”开头表示目录;
2)以“?”通配单个字符
3)以“*”通配多个字符;
4)以方括号“[]”包含单个字符的匹配列表;
5)以叹号“!”跟踪某个文件或目录;指出例外的状况,不忽略,如!main.pyc。

1. 全局设置
    经过修改全局配置 gitconfig 中的 excludesfile 指定全局忽略文件。设置方法:
$ git config --global core.excludesfile ~/.gitignore
    修改~/.gitignore 这个文件将做用于全部 git 项目,而且做用于项目实例中的全部被跟踪的目录。好比说咱们能够在该文件中添加*.o 来忽略全部 .o 文件。
2. 局部设置
只做用于当前目录(也就是.git目录的父目录)下,在 .gitignore 文件中添加 *.o 会忽略全部目录下产生的.o 文件,但在当前目录下的 .gitignore 中添加 *.o 却只能忽略当前目录下的 .o 文件。

Note:屏蔽某个目录下的某个文件,指定忽略路径时,路径是没有相对路径的,git管理下的全部文件都会进行搜索。

.git/info/exclude
 git 还提供了另外一种 exclude 的方式来作一样的事情,不一样的是 .gitignore 这个文件自己会提交到版本库中去。用来保存的是公共的须要排除的文件。而 .git/info/exclude 这里设置的则是你本身本地须要排除的文件, 他不会影响到其余人。也不会提交到版本库中去。工程目录下找到.git/info/exclude,把要排除的文件写进去。

.gitignore文件
在Git工做区的根目录下建立一个特殊的.gitignore文件,而后把要忽略的文件名填进去,Git就会自动忽略这些文件。

Note: 若是使用Windows,windows下貌似不能建立.gitignore这个文件,若是你在资源管理器里新建一个.gitignore文件,提示你必须输入文件名,可是在文本编辑器里“保存”或者“另存为”就能够把文件保存为.gitignore了。lz发现还能够这样作:打开git,cd到.git文件夹下,输入命令touch .gitignore就能够建立成功了。

.gitignore(或者.git/info/exclude)示例
不须要从头写.gitignore文件,GitHub已经为咱们准备了各类配置文件,只须要组合一下就可使用了。全部配置文件能够直接在线浏览:https://github.com/github/gitignore
--------------------- 
注意:全名是.gitignore   前面不要添加名字。

而后添加全部的文件到暂存区:

git add .  (留意有一个点)

git commit -m“first commit”

 

版本回滚操做:先经过git log查看以前的版本号,而后试用 git reset命令

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000

取消版本控制
 

想去除git的版本控制,有两种方式。

1.能够直接将其中的.git文件找出并删除

2.还能够经过命令的方式来操做。以下

find . -name ".git" | xargs rm -Rf

该项目就会去除git的版本控制了。再修改的话也不会影响git的版本库。

在命令行上建立一个新的存储库

git init

git add README.md

git commit -m“first commit”

git remote add origin https://github.com/xiezhiepng/aiLeiProject.git

git push -u origin master

从命令行推送现有存储库

git remote add origin https://github.com/xiezhiepng/aiLeiProject.git
git push -u origin master

 

添加文件操做步骤

一、git add *  //添加文件

查看提交历史

git log

 

二、git commit -m "初始版本"//将修改项或者新建项备注

三、git push //将代码提交上去

克隆项目(url地址设置成http)

文件克隆步骤

 

Git colne https://github.com/xiezhiepng/aiLeiProject.git

 

 

使用图形化工具查阅提交历史

有时候图形化工具更容易展现历史提交的变化,随 Git 一同发布的 gitk 就是这样一种工具。它是用 Tcl/Tk 写成的,基本上至关于 git log 命令的可视化版本,凡是 git log 能够用的选项也都能用在 gitk 上。在项目工做目录中输入 gitk 命令后,就会启动图 2-2 所示的界面。