我了解到的git常用命令@year12

yum install git
 
 
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
 
$ 查看git配置
$ git config --list
 
$ 初始化
$ git init
 
$ 添加
$ git add readme.txgit reset --hard 3628164t
 
$ 提交 $ git commit -m "append GPL"
 
$ 查看提交日志
$ git log
 
$ 回退至上个版本
$ git reset --hard HEAD^
 
$ 回退至指定版本
$ git reset --hard c013e7aa76(前面的commit id)
 
$ 查看状态
$ git status
 
$ 查看工作区和版本库里面的最新版本的区别
$ git diff HEAD -- readme.txt
 
$ 删除文件
$ git rm test.txt
 
$ 撤销修改(只要版本库有,即使删除也可以恢复)
$ git checkout readme.txt
 
$ 添加远程仓库
$ git remote add origin git@github.com:year12/testc.git
 
$ 取消与远程库的关系
$ git remote remove origin
 
$ 第一次推送,加 -u 参数 把本地的master的分支内容推送远程新的master分支,还会关联本地和远程的master,
以后推送或者拉取则可以简化命令。
$ git push -u origin master
 
$ -f 强制提交
$ git push -u origin master -f
 
$ 推送本地分支至远程库master
$ git push origin master
 
$ 创建dev分支
$ git branch dev
 
$ 切换到dev分支
$ git checkout dev
 
$ 创建dev分支,加 -b 为创建并切换至 dev分支,等同于上两条
$ git checkout -b dev
 
$ 显示所有分支
$ git branch
 
$ 合并分支(合并dev到当前分支)
$ git merge dev
 
$ 删除分支
$ git branch -d dev
 
$ 强行删除分支
$ git branch -D dev
 
$ 查看分支合并图
$ git log --graph
$ git log --graph --pretty=oneline --abbrev-commit
 
$ 准备合并dev分支,--no-ff 参数表示禁用 Fast forward
$ 合并分支时,加上 --no-ff 参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,
而fast forward 合并则看不出曾做过合并。
$ git merge --no-ff -m "merge with no-ff" dev
 
$ "储藏"当前工作现场
$ git stash
 
$ 查看存储的工作现场
$ git stashlist
 
$ "恢复"当前工作现场
$ git stash apply
 
$ 删除stash
$ git stash drop
 
$ "恢复"工作现场并删除stash
$ git satsh pop
 
$ 推送master分支到远程仓库
$ git push origin master
 
 
posted @ 2017-12-01 17:44  year12  阅读(174)  评论(0编辑  收藏  举报