官方教程: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 上安装 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命令
取消版本控制
想去除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 所示的界面。