git是一款开源的分布式版本控制工具,在世界上所有分布式版本控制工具中,git是最快、最简单、最流行的。git的作者是Linux之父:Linus Benedict Torvalds,当初开发git仅仅是为了辅助Linux内核的开发,方便管理源代码
git现在,在国外已经非常普及,在国内并未普及,但是原来越多的开源项目已经转移到git上
git命令详解
1.git help
查看其它指定的用法:git help 其它指令
2.git config git配置信息相关(修改的是.git/config文件)
配置用户名
git config "user.name" 用户名(用于跟踪修改记录)
配置邮箱
git config "user.email" 邮箱 (用于多人开发间的沟通)
查看配置信息
git config -l
编辑配置信息
git config -e(用vim 编辑)
设置指令的别名:git config alias.别名 原指令名称
git config alias.ci "commit -m"
设置带参数指令命令:git config alias.别名 原指
将此设置应用到整个系统中:
git config --global
git log --pretty=oneline
git config alias.log1 "log --pretty=oneline"
3.git status:查看文件的状态
查看某个文件的状态
git status 文件名
查看当前路径所有文件的状态
git status
4.git log:查看文件的修改日志
查看某个文件的修改日志:
git log 文件名
查看当前路径下所有文件的修改日志:
git log
用一行的方式查看简单的日志信息 :
git log --pretty=oneline
查看最近N次修改修改:
git log -N (N是一个整数)
5.git diff:查看文件最新改动的地方
查看某个文件的最新改动的地方:
git diff 文件名
查看当前路径所有文件最新改动的地方:git diff
git config --global alias.lg "log --color --graph --pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset --abbrev-commit
6.git reset:版本回退(建议加上 --hard参数,git支持无限次数后悔)
回退到上一个版本:
git reset --hard HEAD^
回退到上上一个版本:
git reset --hard HEAD^^
回退到上N个版本:
git reset --hard HEAD~N(N是一个整数)
回退到任意一个版本:
git reset --hard 版本号(版本号用7位即可)
7.git reflog:查看指令使用记录(能够查看所有的版本号)
8.git rm :删除文件(删除之后要进行commit操作,才能同步到版本库)
9.git clone:
下远程仓库到当前路径:
git clone 仓库的URL
下载远程仓库到特定路径:
git clone 仓库的URL 存放仓库路径
10.git pull:下载远程仓库的最新信息到本地仓库
11.git push :将本地的仓库信息推送到远程仓库
git工作原理
如果想了解git的工作原理,有个核心的概念必须知道
工作区(Working Drictory):仓库文件夹里除了.git目录以外的内容
版本库(Repository):.git目录,用于存储记录版本信息
暂缓区:(stage)
分支(master):git 自动创建的第一个分支
HEAD指针:用于指向当前分支
git add 和git commit 的原理
git add:把文件修改添加到暂存区
git commit:把暂存区的所有内容提交到当前分支