$ git log --pretty=online //提交信息显示成一行 $ git reset --hard HEAD^ //回退到上一次版本
$ git reset --soft HEAD^ //取消上一次commit 最近commit之前add完的状态 如过需要再次提交直接git commit -m '备注' 即可
$ git reset --hard a6a170 // a6a170制定某个提交版本 回退到指定版本
$ git reflog //输出 提交的所有版本 命令历史
$ git diff HEAD -- readme.txt //可以查看工作区和版本库里最新版本的区别
$ git checkout -- readme.txt //丢弃修改 如过没有添加到暂缓区 回到最后一次提交状态 也可以称为 丢弃工作区的修改 // 如过添加到缓冲区 并再次修改 ,回到添加缓冲区的状态
$ git reset HEAD readme.txt // 执行此命令前 readme.txt 已经add到缓冲区。执行完命令 恢复到未add时的状态 (修改的还存在)
$ git rm test.txt //删除test.txt文件(改命令同是具有add的效果,删除文件并添加到暂缓区了) 接下来执行 git commit -m '删除test.txt' 就会从版本库中删除文件
//当我们已经不小心add了一个我们不需要的文件或者文件夹 可执行下面命令 取消这个文件的add状态
$ git rm -r --cached mode_modules/ //从暂存区撤销mode_modules文件夹
//如果我们需要切换到其它分支进行工作,但是现在的分支还没写完一块完整功能,不适合提交代码,我们可以使用 git stash来保存当前分支的工作现场
$ git stash
分支管理
$git checkout -b expert origin/expert //拉取远程分支到本地新建分支上(同时两个分支会关联上) expert为本地分支名 origin/expert为远程分支
//建立 本地某个分支 与远程某个分支 关联关系 origin/expert 远程分支 分支名expert;空格后面expert为本地分支名称
$ git branch --set-upstream-to=origin/expert expert
//把dev分支合并到当前分支
$ git merge dev
//使用普通模式合并分支 带注释 --no-ff表示使用普通模式合并 这样可以看出做过的合并操作
$ git merge --no-ff -m '合并分支' dev
//删除dev分支
$ git branch -d dev
//查看本地分支
$git branch
//查看远程所有分支
$git branch -a
//切换分支
$git checkout dev //切换到dev分支
git设置push需要的用户名和密码
//设置git远程仓库,访问的用户名和密码 $ git remote add origin http://username:passworld@dev.cmri.cn/gitlab/OSN/osns.git //如果提示下面错误 //fatal: remote origin already exists. //使用git命令 删除远程仓库地址 $ git remote rm origin
git忽略特殊文件
在git工作区的根目录有一个.gitignore文件的隐藏文件,如过没有可以自己创建,必须是这个文件名。我们可以把想要忽略的文件或文件夹
我们添加一个忽略文件(使用路径的写法)
再使用git status命令查看,已经不在监控README.md文件了。