git reset --hard HEAD^ 可以将指针还原到上一个修改
git reset --hard HEAD^^ 可以将指针还原指向上上个修改
git reset --hard HEAD~100 可以将指针还原到前100个修改
git log --pretty=oneline 将输出信息放到一行
git checkout -- <file> 将某个文件在工作区的修改全部撤销
git diff HEAD -- <file> 可以查看某个文件在工作区和版本库里的最新版本的区别
git reset HEAD <file> 可以把暂存区的修改撤销掉,重新放回工作区
git push -u origin master 不但会把本地的master分支内容推送远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
git remote add origin git@server-name:path/repo-name.git 关联一个远端库
git checkout -b dev 等于git branch dev ; git checkout -b dev 两条命令,最好使用git checkout -b branch-name origin/branch-name
git merge dev 合并dev分支的代码到当前分支
git branch -d dev 删除dev分支,-D是删除没有被合并过的分支
git log --graph --pretty=oneline --abbrev-commit 可以看到分支合并图
git merge --no-ff -m "merge with no-ff" dev1 使用--no-ff参数表示禁用Fast forward,合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
git remote -v显示远端仓库和本地的对应关系,origin是远端仓库的默认名称
git checkout -b dev origin/dev 创建本地分支,关联远程的prigin的dev分支
git branch --set-upstream-to=origin/dev dev 设置dev与origin/dev的链接
git rebase可以让分叉的提交变成一条直线