git

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