git常用命令

git 的常用命令



分支操作

git branch             :    查看本地分支
git branch -a          :    查看所有分支(包括远程)
git branch name        :    创建分支
git branch -d name     :    删除分支
git checkout name      :    切换分支
git checkout -b name   :    创建+切换分支
git merge name         :    合并某分支到当前分支
git push origin -delete <branchname>     :    删除远程分支
  1. 合并分支一般使用 git merge --no-ff -m "merge with no-ff" branchName 表示禁用“Fast forward”,合并就跟一次提交一样
  2. 语法: git push [远程名] [本地分支]:[远程分支] 如果省略 [本地分支] 表示将空白分支提到远程分支,也能够删除远程分支

撤销操作

重新提交: 若暂存区没有新的修改,相当于重写了提交信息

$ git commit --amend -m "message"

丢弃工作区的修改: 若有add则从暂存区恢复,若无add则从仓库恢复。

$ git checkout -- filename

注:git checkout -- file命令中的“–”很重要,没有“–”,就变成了“创建一个新分支”的命令

撤销暂存区修改: 把暂存区的修改回退到工作区。

$ git reset HEAD readme.txt

回退版本: HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,上100个版本可写成HEAD~100。用上hard参数后,文件会回到原来的commit状态,不用hard参数,工作目录的文件修改会保留,状态为未提交。

git reset --hard HEAD^

log显示

$ git log --graph --pretty=oneline --abbrev-commit
  1. --graph可以看到分支合并图
  2. --pretty=onelineLog会显示在一行
  3. --abbrev-commit 会显示版本号的缩写形式

如果之前有过版本回退操作,则git log只能显示当前版本之前的记录,如果想看所有的记录(包括当前版本之后的版本),可以使用:

$ git reflog

显示远程仓库信息

$ git remote -v
origin  git@github.com:rgkjhshi/blog.git (fetch)
origin  git@github.com:rgkjhshi/blog.git (push)