git采用的是分布式版本库的方式
git init:初始化git仓库
git clone <repo> <directory>:从现有的Git仓库中拷贝项目(repo:git仓库;directory:本地目录)
git add:将该文件添加到缓存中
git status:查看项目的当前状态
查看执行git status的结果的详细信息
git diff:尚未缓存的改动
git diff --cached:查看已缓存的改动
git diff HEAD:查看已缓存的与未缓存的所有改动
git diff --stat:显示摘要而非整个diff
git commit:将缓存区内容添加到仓库中
git commit -a:跳过git add提交缓存的步骤
git rebase:把一个分支的修改合并到前端分支
配置个人用户名和邮箱(加上--global会更改你用户主目录下的那个,以后你所有项目都是这个用户,如果不想就去掉--global这样是会在你当前项目的.git/config文件里)
git config --global user.name 'hhm'
git config --global user.email test@1.com
git config --global merge.tool vimdiff:差异分析工具(改用vimdiff)
git config --list:查看配置信息
git reset HEAD:取消已缓存的内容(重写暂缓区被master分支指向的目录树所替换,但工作区不受影响)
git rm --cached<file>:直接从暂缓区删除文件,工作区不做出改变
git checkout.或git checkout --<file>:将暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区未添加到暂存区的改动
git checkout HEAD.或git checkout HEAD <file>:会用HEAD指向的master分支中的全部或部分文件替换暂存区和工作区中的文件。这个命令极具危险性,它不但会清除工作区中未提交的变动,也会清除暂存区中未提交的变动
git mv:用于移动或重命名一个文件、目录、软连接
git branch:列出所有分支
git branch (branchname):创建分支
git branch -d(branchname):删除该分支
git checkout (branchname):切换分支
git checkout -b(branchname):创建新分支并立即切换到该分支下
git merge:合并分支
git log:列出历史提交记录
git log --oneline:查看历史记录的简洁版
git log --oneline --graph:查看历史中什么时候出现了分支、合并
git log --reverse --oneline:逆向显示所有日志
git log --author =hhm:查看指定用户的提交日志
git log --oneline --before={3.weeks.ago} --after={2010-04-18} --on-merges:指定日期并且隐藏合并提交(--since和--before,--until和after)
git remote -v:查看远程仓库
git remote rm [name] :删除远程仓库
git fetch:从远程库下载新分支与数据
git pull:从远端仓库提取数据并尝试合并到当前分支
git push [alias] [branch]:提交你的新分支与数据到某个远程仓库