git学习4 常用命令
1:更新: 更新后,更新只在Workspace中,没有到暂存区。git status可以查看当前状态。
git add <file> 可以放到待提交区。
git checkout --<file> 可以放弃更改 , 本地的修改都会被覆盖
2: 对于已经提到待提交区的:
git reset HEAD <file> 可以把文件在放回workspace。
git commit -m "message" 可以提交文件
3: 对于已经commit的,
git log // 查看commit的历史记录。
git revert HEAD // 撤销最近大一个提交
4: git diff: //workSpace中的文件和暂存区文件的差异。
git diff HEAD~n // workspace中的状态和REPO中的状态进行diff.
5 综上所述, 撤销更新:更新存在3个地方: workspace, Stage, repo中,
A: 撤销WorkSpace中的更新:git checkout -- <file> //这种方式已定要谨慎,撤销后找不回来
B: 撤销stage中的更新: git reset HEAD <file> // 把暂存区的文件移动到workspace
git rest --hard HEAD // 是不可以恢复的
C:撤销repo中的更新:
git log // 查看commit的历史记录。 git revert HEAD // 撤销最近大一个提交
6 : q //退出VIM模式。
7: 查看远程版本库信息
git remote show
8: 创建分支: git branch develop
这个分支新建后,是在本地,如何推送到remote呢?
git push --set-upstream origin hhh
9: 切换分支: git checkout develop
10: 列出本地分支: git branch
列出远程分支: git branch -r
列出所有本地和远程分支: git branch -a
11: git branch branchname // 创建新分支,但是不切换过去
git checkout branchname // 切换到一个存在的分支
git checkout -b [branch] // 创建新分支,并切换到该分支(把上两步骤合并)
12: 删除分支:
首先当前分支不是要删掉的的分支
git branch -D branchtodelete
git branch -D -r origin/XXX // 删除远程分支,可以先用git branch -r 列出远程分支
13: 基于某个分支创建新分支
git branch XXX // 就是基于当前所在的分支创建新分支
git checkout -b newbranch baseBranch // 基于basebranch创建newbranch.
14: git 自动补全的功能
在运行 git add 和 git branch -D 的时候,按Tab键,发现有自动补全的功能
15:git stash:
git stash save -a "messeag" // 把workspace的内容加入到stash 栈中
git stash list // 列出stash
Dell@DESKTOP-OSTGSI3 MINGW64 /d/eclipseWorkSpace/maven-web-sample (master)
$ git stash list
stash@{}: On master: message
stash@{}: WIP on master: be28beb toreset Dell@DESKTOP-OSTGSI3 MINGW64 /d/eclipseWorkSpace/maven-web-sample (master)
$
git stash pop stash@{0} // 把最近的stash内容更新到workspace, 并且从栈中删除
再执行 git stash list // 列出stash
stash@{}: WIP on master: be28beb toreset
git stash apply <stash@{id}> // 与git stash pop不同的是,这个执行完后,在stash栈中不删除
git stash drop <stash@{id}> // 把stash中的指定的drop掉
git stash pop // 不指定名字,弹出最新的
16: merge VS rebase:
待续
最新文章
- win2008R2 下解决关于mysql odbc无法正常工作问题
- HDU 2825 Wireless Password(AC自动机+DP)
- ASP.NET Web API 通过Authentication特性来实现身份认证
- C语言实现单向链表及其各种排序(含快排,选择,插入,冒泡)
- iptables端口重定向
- jQuery带有定时器的tab栏切换
- Bootstrap入门(十五)组件9:面板组件
- 珍藏版Chrome插件送给你们,不仅是程序员必备
- 【Python全栈-JavaScript】jQuery效果
- Java语法 [开发环境搭建]
- Ubuntu 下搭建 Android 开发环境(图文)
- 浅谈如何正确给table加边框
- Session和Cookie的理解
- 无锁并发框架Disruptor学习入门
- SVG.js 颜色渐变使用
- commonCookie.js
- linux下给php安装memcached及memcache扩展(转)
- Python168的学习笔记8
- mysql获取随机数据的方法
- Java多线程编程核心技术,第四章