window 安装git
配置邮箱和用户名
git config --global user.name"Your Name"
git config --global user.email"email@example.com"
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
创建版本库
1. 进入一个目录 /Users/michael/learngit
2. $ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
回退版本
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
$ git reset--hard HEAD^
HEAD is now at e475afcadd distributed
根据版本ID回退
$ git reset--hard 1094a
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。
用git reflog查看执行过的所有命令
git diff HEAD -- readme.txt 命令可以查看工作区和版本库里面最新版本的区别:
git checkout -- file可以丢弃工作区的修改:
关联远程仓库 :
$ git remote add origin git@github.com:michaelliao/learngit.git
git push -u origin master 把本地master同步到远端 master
生成SSH-key
$ ssh-keygen -t rsa -C "youremail@example.com"
创建并切换分支
$ git checkout -b dev
git branch命令查看当前分支
使用git checkout master 将分支切回master
git merge dev 把dev分支merge到master上
合并完成之后 删除dev分支 git branch -d dev
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
git log --graph 可以查看分支合并图
git stash 可以隐藏当前分支工作区内容
git stash apply 回复
git stash drop 删除
git stash pop 回复并删除
git stash list 查看当前隐藏的内容
git remote -v 查看远程分支信息
git tag <name> 给当前版本打标签,用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
命令git tag可以查看所有标签。