Git常用指令整理(Git Cheat Sheet)
[Toc]
1. 创建
复制一个已创建的仓库:
git clone ssh://user@domain.com/repo.git创建一个新的本地仓库:
git init
2. 本地修改
显示工作路径下已修改的文件:
git status显示与上次提交版本文件的不同:
git diff把当前所有修改添加到下次提交中:
git add把对某个文件的修改添加到下次提交中:
git add -p <file>提交本地的所有修改(包括不在缓存区的):
git commit -a提交之前已标记的修改:
git commit附加消息提交:
git commit -m 'message here修改上次提交(不要修改已发布的提交):
git commit --amend
3. 提交历史
从最新提交开始,显示所有的提交记录(显示hash, 作者信息,提交的标题和时间):
git log显示所有提交(仅显示提交的hash和message):
git log --online显示某个用户的所有提交:
git log --author='username'显示某个文件的搜友修改
git log -p <file>谁,在什么时间,修改了文件的什么内容:
git blame <file>
4. 分支与标签
列出所有的分支:
git branch切换分支:
git checkout <branch>基于当前分支创建新分支:
git branch <new-branch>基于远程分支创建新的可追溯的分支:
git branch --track <new-branch> <remote-branch>删除本地分支:
git branch -d <branch>给当前版本打标签
git tag <tag-name>
5. 更新与发布
列出对当前远程端的操作:
git remote -v显示远程端的信息:
git remote show <remote>添加新的远程端:
git remote add <remote> <url>下载远程端版本,但不合并到HEAD中:
git fetch <remote>下载远程端版本,并自动与HEAD版本合并:
git remote pull <remote> <url>将远程端版本合并到本地版本中:
git pull origin master将本地版本发布到远程端:
git push remote <remote> <branch>删除远程端分支:
$ git push <remote> :<branch> (since Git v1.5.0)/git push <remote> --delete <branch> (since Git v1.7.0)发布标签
git push --tags
6. 合并与重置
将分支合并到当前HEAD中:
git merge <branch>将当前HEAD版本重置到分支中(不要重置已发布的提交):
git rebase <branch>退出重置:
git rebase --abort解决冲突后继续重置:
git rebase --continue使用配置好的merge tool 解决冲突:
git mergetool在编辑器中手动解决冲突后,标记文件为已解决冲突:
git add <resolved-file>/git rm <resolve-file>
7. 撤销
放弃工作目录下的所有修改:
git reset --hard HEAD移除缓存区的所有文件(i.e. 撤销上次git add):
git reset HEAD放弃某个文件的所有本地修改:
git checkout HEAD <file>重置一个提交(通过创建一个截然不同的新提交)
git revert <commit>将HEAD重置到上一次提交的版本,并放弃之后的所有修改:
git reset --hard <commit>将HEAD重置到上一次提交的版本,并将之后的修改标记为未添加到缓存区的修改:
git reset <commit>将HEAD重置到上一次提交的版本,并保留未提交的本地修改:
git reset --keep <commit>
8. 廖雪峰学习(按顺序记录)
- 配置git全局的name和e-mail:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
初始化一个仓库:
git init添加文件到git仓库
git add <file>//添加文件到缓存区,可反复多次使用,添加多个文件
git commit//提交缓存区的修改
查看工作区的状态:
git status查看文件修改内容:
git diff <file>在版本历史间穿梭:
git reset --hard <commit_id>/git reset --hard HEAD^/git reset --hard HEAD~100查看提交历史:
git log查看命令历史:
git relog当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时:
git checkout -- <file>当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步
git reset HEAD <file>
git checkout -- <file>
已经提交了不合适的修改到版本库时,想要撤销本次提交,使用版本回退:
git reset ...删除一个文件:
git rm <file>>>>(提交删除)git commit -m 'remove file'/(恢复)git checkout -- <file>关联一个远程库:
git remote add origin git@server-name:path/repo-name.git关联远程仓库后第一次推送master分支所有内容:
git push -u origin master每次本地提交后,使用该命令推送最新修改:
git push origin master使用远程库克隆一个本地库:
git clone git@server-name:path/repo-name.git查看分支:
git branch创建分支:
git branch <name>切换分支:
git checkout <name>创建+切换分支:
git checkout -b <name>合并某分支到当前分支:
git merge <name>删除分支:
git branch -d <name>查看分支合并图:
git log --graph普通模式合并分支,合并后的历史有分支,能看出来曾经做过合并
git merge --no-ff -m 'merge message' <name>默认合并模式是
fast forward删除分支后,会丢掉分支信息存储当前工作现场:
git stash恢复存储的工作现场(stash内容删除):
git stash pop查看存储的工作现场:
git stash list多次stash,恢复的时候,先用
git stash list查看,然后恢复指定的stashgit stash apply stash@{0}(apply指令的stash内容不删除)丢弃一个没有被合并过的分支:
git branch -D <name>查看远程库信息:
git remote -v本地推送分支:
git push origin branch-name抓取远程的新提交:
git pull在本地创建和远程分支对应的分支:
git checkout -b <branch-name> origin/<branch-name>建立本地分支和远程分支的关联:
git branch --set-upstream <branch-name> origin/<branch-name>在当前commit(HEAD)新建一个标签:
git tag <name>指定一个commitId新建一个标签:
git tag v0.9 6224937指定标签信息:
git tag -a <tagname> -m 'tagmessage'使用pgp签名标签:
git tag -s <tagname> -m 'tagmessage'查看所有标签:
git tag推送一个本地标签:
git push origin <tagname>推送全部为推送的本地标签:
git push origin --tags删除一个本地标签:
git tag -d <tagname>删除一个远程标签:
git push origin :refs/tags/<tagname>忽略某些文件,需要编写
.gitignore
//我的项目中.gitignore文件中
.DS_Store
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
- 配置git命令别名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
转载自:https://www.jianshu.com/p/13b531979b74
Git常用指令整理(Git Cheat Sheet)的更多相关文章
- git常用指令整理
git常用指令一览表 GIT指令 说明 git add . 将全部文件的内容加到Git索引以便执行commit. 这个指令不会检查文件夹中是否有文件被删除. 要注意的是,只有执行" git ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- (小组)Git 常用命令整理
Git 常用命令整理 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone git@xbc.me:wordpress.git 添加远程版本库origin,语法 ...
- Windows平台Atom编辑器的常用快捷键小抄Cheat Sheet
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:Windows平台Atom编辑器的常用快捷键小抄Cheat Sheet.
- GIT如何使用:大杀器!所有常用指令整理
1 pwd 显示当前目录2 mkdir 创建目录 cd 进入文件3 git init 变成Git可以管理的仓库(千万不要修改目录下的.git隐藏文件夹)4 ls -ah 可以把.git文件显示出来5 ...
- 实践中的Git常用指令分析
从工作开始,一直都在使用为知笔记(作为程序员需要知道的内容很多---不需要很深入理解,一段时不使用的东西可能就会忘记).但本周一同步不同PC端时,了解到为知会在2017/1/1开始收费! 既然收费了, ...
- 【常用指令】git+服务器+数据库
git日程操作 服务器常用操作 ①同步master git pull origin master ②创建分支 git checkout -b 分支名 ③常规操作 git diff git add 文件 ...
- git常用指令
<a>github的提交方式 git status (1)git add .--------------------存储到本地 git add -u ...
- xcode svn commit is not under version control 和 git常用指令
使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...
随机推荐
- LeetCode-矩形重叠
题目描述: 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标. 如果相交的面积为正,则称两矩形重叠.需要明确的是,只在 ...
- ant-design-pro 如何打包成 本地html,双击即可查看
由于 ant-design-pro 的 mock 是一个单独的服务,所以没有办法整合到一起打包.暂时我是没有找到. 所以解决方案就是不用 mock . 由于 系统有异步调取,所以一旦有异步调取就会失败 ...
- EPX-Studio脚本调用
procedure TF408017792.Button1Click(Sender: TObject); var NEPX: IExcelPanelXDisp; begin NEPX := this. ...
- Python 之装饰器
Python 的装饰器可谓是提高开发效率的一大利器.然而初学装饰器的时候感觉很难理解,因为除了 Python 之外没听说哪个语言有这种东西. 而且网上看的很多解释看似容易理解,但只能很快理解了装饰器能 ...
- Java中的Xml配置文件(新手)
Java中的Xml配置文件,本文是转发转发转发!重要的事情说三遍 一:概念 1.XML Extensible markup Language 可拓展标记语言 2.功能:存储数据(配置文件,在网络中传 ...
- Swift:字符串(String)分割之Substring优雅转换
认识Substring类型 这是一个全新的类型,看类名像是String的子类,但是大家千万别被误导了,Substring并不是String的子类,这是两个不同的类型,但是它们都继承了StringPro ...
- Spring01——你应该了解的,有关 IOC 容器的一切
从本文开始,将开始介绍关于 Spring 的一些常见知识点.关注我的公众号「Java面典」,每天 10:24 和你一起了解更多 Java 相关知识点. 在如今的 Java Web 开发中,Spring ...
- python打包为exe文件
1.安装 pyinstaller 包 pip3 install pyinstaller 2.进入python文件目录 进入Python程序文件夹py文件处,按住shift并且右键,在弹出的选项中点击& ...
- hdu1728 逃离迷宫bfs
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1728/ 关于广度优先搜索的第一篇题解.广度优先搜索,就是状态树的层次遍历,一层一层的搜索,直到搜索到目标状态为止 ...
- [暴力] Educational Codeforces Round 71 (Rated for Div. 2) B. Square Filling (1207B)
题目:http://codeforces.com/contest/1207/problem/B B. Square Filling time limit per test 1 second mem ...