Git常用命令总结
2015-06-05 18:05
295 查看
如果你想更好的了解git的命令用法,请去看我之前写的Git学习个人整理记录(一)和Git学习个人整理记录(二)
下面的命令是我在https://github.com/michaelliao/learngit/blob/master/cloudstone.txt所看到的,跟我整理的笔记,同源。
*****************************************************************************************************命令!
git init 创建版本库
git add 添加文件到缓冲区
git commit -m ‘xxx’ 提交到本地仓库
git status 查看当前目录状态
git diff 查看文件变化的内容
git reset --hard HEAD^ 回退到上一版本, git reset --hard HEAD^^ 回退到上上版本,git reset --hard HEAD~100 回退到上100个版本,git reset —hard <commit id前几位> 回退到指定版本
git reflog 查看历史版本,如果有需要,随后可以根据显示的commit id进行回退
git add后如果又修改了,此时git commit只会提交add过的版本,后面修改的不会提交
git checkout -- <file> revert文件到add过或最新的版本,先add的版本,再最新的版本
git reset HEAD <file> 可以撤销git add的版本
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
git rm 会同时删除仓库里的文件和本地文件,但是在提交之前,还是可以通过git reset HEAD && git checkout —- <file>恢复文件
git rm 相当于本地rm <file> 再git add
git remote add origin git@server-name:path/repo-name.git 关联一个远程库
git push -u origin master第一次推送master分支的所有内容
git push origin master推送最新修改(对远程库非第一次)
git branch 查看分支
git branch <name> 创建分支
git checkout <name> 切换分支
git checkout -b <name> 创建+切换分支
git merge <name> 合并某分支到当前分支
git branch -d <name> 删除分支
git log —graph 查看分支合并图
git stash 保存工作现场
git stash list 查看保存的stash
git stash apply stash@{n} 恢复指定的stash
git stash pop stash@{n} 恢复现场并删除该stash
如果一个分支没有被合并过,git branch -d feature 会被友情提醒,需要通过git branch -D feature 强行删除
git tag <name>新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
git tag可以查看所有标签。
git push origin <tagname>可以推送一个本地标签;
git push origin --tags可以推送全部未推送过的本地标签;
git tag -d <tagname>可以删除一个本地标签;
git push origin :refs/tags/<tagname>可以删除一个远程标签。
下面的命令是我在https://github.com/michaelliao/learngit/blob/master/cloudstone.txt所看到的,跟我整理的笔记,同源。
*****************************************************************************************************命令!
git init 创建版本库
git add 添加文件到缓冲区
git commit -m ‘xxx’ 提交到本地仓库
git status 查看当前目录状态
git diff 查看文件变化的内容
git reset --hard HEAD^ 回退到上一版本, git reset --hard HEAD^^ 回退到上上版本,git reset --hard HEAD~100 回退到上100个版本,git reset —hard <commit id前几位> 回退到指定版本
git reflog 查看历史版本,如果有需要,随后可以根据显示的commit id进行回退
git add后如果又修改了,此时git commit只会提交add过的版本,后面修改的不会提交
git checkout -- <file> revert文件到add过或最新的版本,先add的版本,再最新的版本
git reset HEAD <file> 可以撤销git add的版本
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
git rm 会同时删除仓库里的文件和本地文件,但是在提交之前,还是可以通过git reset HEAD && git checkout —- <file>恢复文件
git rm 相当于本地rm <file> 再git add
git remote add origin git@server-name:path/repo-name.git 关联一个远程库
git push -u origin master第一次推送master分支的所有内容
git push origin master推送最新修改(对远程库非第一次)
git branch 查看分支
git branch <name> 创建分支
git checkout <name> 切换分支
git checkout -b <name> 创建+切换分支
git merge <name> 合并某分支到当前分支
git branch -d <name> 删除分支
git log —graph 查看分支合并图
git stash 保存工作现场
git stash list 查看保存的stash
git stash apply stash@{n} 恢复指定的stash
git stash pop stash@{n} 恢复现场并删除该stash
如果一个分支没有被合并过,git branch -d feature 会被友情提醒,需要通过git branch -D feature 强行删除
git tag <name>新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
git tag可以查看所有标签。
git push origin <tagname>可以推送一个本地标签;
git push origin --tags可以推送全部未推送过的本地标签;
git tag -d <tagname>可以删除一个本地标签;
git push origin :refs/tags/<tagname>可以删除一个远程标签。
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- C#分布式事务的超时处理实例分析
- Erlang分布式节点中的注册进程使用实例
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- C++实现的分布式游戏服务端引擎KBEngine详解
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- ASP.NET通过分布式Session提升性能
- git fork同步是什么意思?
- Python的高级Git库 Gittle
- 使用GIT进行源码管理――GUI客户端小结
- 使用git代替FTP部署代码到服务器的例子