brew install git
or brew upgrade git
安全完成后,需要进行一个用户信息设置:
git config –global user.name "Your name"
git config –global user.name "email@exapmpe.com"
git add filename 添加某个文件的版本控制
git add . 添加当前所有文件的版本控制
git diff 或者 git diff readme.txt 用来查看修改了某个文件的哪些地方。
git log 查看最近到最远的提交日志。也可以使用 git log –pretty=oneline 简化显示信息
git 使用HEAD表示当前版本, 上一个版本就是HEAD^,上上一个版本就是HEAD^^,再往上100个版本就是HEAD~100,如果我们要把当前版本回退到上一个版本,就可以使用git reset命令:git reset命令在切换版本的同时,会把暂存区和工作区的内容全部清空
git reset –hard HEAD~1
git reflog用来记录你的每一次命令
然后查看之前的版本 id,然后回退到那个版本
git reset –hard a422082
把一个文件变为未修改的样子 git checkout – hello.rb
git commit只负责把暂存区的修改提交到版本库
git diff HEAD – readme.txt 命令可以查看工作区和版本库里面最新版本的区别:或者是暂存区和版本库里最新版本的区别,如果暂存区和当前工作区都做了修改,那么会把所有的diff都显示出来
git diff HEAD faa7d5ebc5ff1fd7fb919376ad9e0ce70983df9e 版本库里的最新版本和指定版本的比较
git checkout – file 把工作区的修改过的文件回退到最近一次add的状态,就是把当前修改全部撤销回未修改状态。如果已经 add 了,则无效
git reset HEAD readme.txt 把暂存区的内容撤销退回工作区,如果文件在 add 到暂存区后,又进行了修改,那么撤回的时候以工作区的数据为准,git reset HEAD readme.txt做的事情就是:相当于没有add过。
git reset HEAD 撤销当前所有暂存区的文件,撤回工作区
git rm filename 把文件从版本库中删除
rm 不小心删除了文件, 可以用git checkout – filename来恢复该文件(从最新版本库中回复该文件出来)
git remote add origin git@bitbucket.org:xiaomizha/learngit.git 如果配置了多个public key,需要改一下这个地址
git push -u origin master 这个命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
git push origin dev 推送 dev 分支到远程库
git checkout -b dev origin/dev 创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:
git remote -v 查看远程库信息
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch –set-upstream branch-name origin/branch-name;
可以使用分支完成某个任务,完成后在这个任务后,在合并到开发分支,然后删除掉这个分支。 分支切换的时候,工作区和暂存区的内容是不会改变的,会一直保留着,所以要注意
git branch dev
git checkout dev
git checkout -b dev
要从哪个分支拷贝一份代码,就去哪一个分支里面创建分支
git branch
git branch -d dev 删除分支dev
git branch -D dev 强制删除分支dev
git merge dev 切换到master分支,然后 执行 git merge dev 就会把dev 版本合并到master分支上
Fast-forward合并,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。
合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
git merge feature1 合并如果冲突,会把冲突部分都列出来,====上面的是当前的,====下面的是 merge from的版本。解决掉后,提交就可以了。
git log –graph –pretty=oneline –abbrev-commit 显示分支合并情况,也可以简写为 git log –graph,不过这样显示的信息比较多一些。
git merge dev –no-ff -m "merge from dev" 从 merge 分支合并过来,并且经用Fast forward模式
git stash 把当前暂存区中的内容储藏起来,然后可以干其它工作,进行其他的提交
git stash list 查看当前存储区的列表
git stash apply 回复最新一个存储区到暂存区,(不会删除)
git stash apply stash@{0} 指定恢复第几个存储区
git stash drop 删除最新一个存储区
git stash pop 弹出最新一个存储区(直接删除了最新一个存储区)
2018-04-15 04:56