$ git checkout -b dev origin/dev 从远程库的dev分支上checkout到本地的dev分支,并切换当前分支到dev上去。
$ git checkout -b dev 新建一个dev分支,并且切换当前分支到dev分支
$ git checkout master
切换当前分支到master分支
$ git checkout -- helloworld.java
将helloworld.java文件的当前修改丢弃,即回退到最近一次commit之前或是add之前的版本。也就是将工作区的内容丢弃掉。恢复到临时区的内容。
$ git push origin dev
把本地的dev分支push到远程库中(origin代表远程库)
$ git branch
查看当前本地库里有哪些分支
$ git branch dev
新建一个dev分支,当前分支并不切换
$ git branch -d dev
删除本地的dev分支
$ git merge dev
将dev分支merge到当前分支上
$ git reset --hard HEAD^ 将当前分支退回到上一个版本,HEAD
^代表上一个版本,HEAD
^
^代表上上个版本, HEAD~100代表上100个版本。
$ git reset --hard
efc73182a7907f0bd18e313a3da06e03fa61b96e 将当前版本退回到某一个版本,efc73182a7907f0bd18e313a3da06e03fa61b96e是commit的id号,可以通过git log来查看
$ git reset
a4e215234aa4927c85693dca7b68e9976948a35e MainActivity.java 将MainActivity.java文件退回到a4e215234aa4927c85693dca7b68e9976948a35e版本。退回了之后不需要add,直接commit就可以将a4e215234aa4927c85693dca7b68e9976948a35e版本提交了。
$ git cherry-pick
efc73182a7907f0bd18e313a3da06e03fa61b96e 将某次提交的改动生效到当前branch下。只生效那次commit里的那些改动。
$ git commit --amend
提交时,弹出一个类似vim的框来写提交注释。
$ git rebase -i HEAD~10
将最近提交的几次commit合并成一个。
$ git pull --prune(git pull -p) 如果远程库里删了某个分支或是某些文件,那么用git pull的时候会报错“error: cannot update the ref 'refs/remotes/origin/fixTest': there are still logs under '.git/logs/refs/remotes/origin/fixTest'”。
那么加上-p就会把本地的分支或是那些文件也删除掉了。其实报错是为了防止误删东西。