git
Git、
2016-08-22
资料整理
git
git相关文档:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
查看不同
$ git diff
删除.idea:
如果远程分支已经提交了讨厌的.idea
rm -rf .idea (删除本地的.idea)
$ git rm -r --cached .idea (取消跟踪.idea)
创建 gitignore
$ touch .gitignore (创建并配置gitignore)
删除远程分支
$ git push origin :<branchName>
$ git push origin —delete master
查看 commit的记录
$ git log
$ git log --pretty=oneline // 简洁显示
$ git reflog // 查看每一次的git操作命令
回滚当前分支的前一个commit记录
$ git reset —-hard head^ // head^ 表示上个版本。 head^^ 表示上上个版本。 head~100 表示100个版本
$ git reset —-hard 版本id // 回到某个特定的版本下
暂存 git stash
$ git stash // 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中
$ git stash pop // 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
$ git stash list // 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
$ git stash clear // 清空Git栈。
$ git stash apply stash@{1} // 可以将你指定版本号为stash@{1}的工作取出来
撤销修改
$ git checkout —- filename // 如果没有—- 就变成了切换分支
打tag
$ git tag <name> <id>
$ git tag -a v0.1 -m "version 0.1 released" 3628164 // 打tab 并附加说明
$ git show <tagname> // 查看版本说明
$ git push origin :refs/tags/<tagname> // 删除远程tag
合并本地多个commit
git log // 查看当前的commit
git rebase -i <commitId> // 进行合并操作,此时会打开vim。输入i开始编辑vim、将 pick 更改为 s然后 按esc : wq 保存并退出
git rebase --abort // 取消合并操作
Cannot 'squash' without a previous commit // 可能会出现的报错,不能选择第一个commit为合并commit
// 如果没有问题 再次编辑 vim
git checkout master
git rebase dev
清理远程分支
git remote prune origin