Git命令使用总结
- Git 教學(1):Git的基本使用
- Git 教學(2):Git Branch 的操作與基本工作流程
如何安裝 Git
如何設定 Git
- Mac : Set Up Git on Mac
- Linux : Set Up Git on Linux
- Windows : Set up Git on Windows
如何開始一個 Git Respository
- 在專案底下使用
git init
開始一個新的 Git repo. - 使用
git clone
複製一個專案
- 在專案底下使用
如何將檔案加入 Stage
- 使用
git add
將想要的檔案加入 Stage. git add .
會將所有編修過的檔案加入 Stage (新增但還沒 Commit 過的檔案並不會加入)
- 使用
如何將檔案從 Stage 中移除(取消add)
git reset HEAD 檔案名稱
如何將檔案提交(commit)
- 使用
git commit
會將 Stage 狀態的檔案做 Commit 動作 git commit -m "commit訊息"
可以略過編輯器直接輸入 commit 訊息完成提交。git commit -am "commit訊息"
等同於先git add .
後略過編輯器提交 commit。
- 使用
如何修改/取消上一次的 commit
git commit --amend
修改上一次的 commit 訊息。git commit --amend 檔案1 檔案2...
將檔案1、檔案2加入上一次的 commit。git reset HEAD^ --soft
取消剛剛的 commit,但保留修改過的檔案。git reset HEAD^ --hard
取消剛剛的 commit,回到再上一次 commit的 乾淨狀態。
分支基本操作(branch)
git branch
列出所有本地端的 branch。git branch -r
列出所有遠端的 branch。git branch -a
列出所有本地及遠端的 branch。git branch "branch名稱"
建立一個新的 branch。git checkout -b "branch名稱"
建立一個新的 branch 並切換到該 branch。git branch branch名稱 起始點
以起始點作為基準建立一個新的 branch,起始點可以是一個 tag,branch 或是 commit。git branch --track branch名稱 遠端branch
建立一個 tracking 遠端 branch 的 branch,這樣以後 push/pull都會直接對應到該遠端的branch。git branch --set-upstream branch 遠端branch
將一個已存在的 branch 設定成 tracking 遠端的branch。git branch -d "branch 名稱"
刪除 branch。git -r -d 遠端branch
刪除一個 tracking 的遠端 branch,例如git branch -r -d wycats/master
git push repository名稱 :遠端branch
刪除一個 repository 的 branch,通常用在刪除遠端的 branch,例如git push origin :old_branch_to_be_deleted
。git checkout branch名稱
切換到另一個 branch(所有修改過程會被保留)。
遠端操作(remote)
git remote add remote名稱 remote網址
加入一個 remote repository,例如git remote add github git://github.com/gogojimmy/test.git
git push remote名稱 :branch名稱
刪除遠端 branch,例如git push origin :somebranch
。git pull remote名稱 branch名稱
下載一個遠端的 branch 並合併(注意是下載遠端的 branch 合併到目前本地端所在的 branch)。git push
類似於 pull 操作,將本地端的 branch 上傳到遠端。
合併操作(merge)
git merge branch名稱
合併指定的 branch 到目前的 branch。git merge branch名稱 --no-commit
合併指定的 branch 到目前的 branch 但是不會產生合併的 commit。git cherry-pick SHA
將某一個 commit 的內容合併到目前 branch,指定 commit 是使用該 commit 的 SHA 值,例如git cherry-pick 7300a6130d9447e18a931e898b64eefedea19544
。
暫存操作(stash)
git stash
將目前所做的修改都暫存起來。git stash apply
取出最新一次的暫存。git stash pop
取出最新一次的暫存並將他從暫存清單中移除。git stash list
顯示出所有的暫存清單。git stash clear
清除所有暫存。
常見問題:
- 我的 code 改爛了我想全部重來,我要如何快速回到乾淨的目錄?
git reset --hard
這指令會清除所有與最近一次 commit 不同的修改。
- merge 過程中發生 confict 我想放棄 merge,要如何取消 merge?
- 一樣使用
git reset --hard
可以取消這次的 merge。
- 一樣使用
- 如何取消這次的 merge 回到 merge 前的狀態?
git reset --hard ORIG_HEAD
這指令會取消最近一次成功的 merge 以及所有你在這次 merge 後所做的修改。
- 如何回復單獨檔案到原本 commit 的狀態?
git checkout 檔案名稱
這指令會將已經被修改過的檔案回復到最近一次 commit 的樣子。
- 我的 code 改爛了我想全部重來,我要如何快速回到乾淨的目錄?
Git命令使用总结的更多相关文章
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- 工作中常用的git命令
一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...
- 常用 Git 命令清单
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 常look的Git命令
常用的Git命令 命令 简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 git a ...
- ***Linux下使用git命令及github项目
在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen ##一直默认就可以了 3.将公钥加入到Github账户 ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
- GIT命令行的使用
新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...
- 简明 Git 命令速查表(中文版)
原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...
- 常用 Git 命令清单 转
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 日常开发使用GIT命令
git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...
随机推荐
- 微信小程序-视图条件渲染
条件渲染 wx:if 在框架中,我们用 wx:if="{{condition}}" 来判断是否需要渲染该代码块: <view wx:if="{{condition} ...
- 《与小卡特一起学Python》 Code2
下边是一个猜数字的小游戏: 几乎所有语言都这样做的…… here we go! import random secret = random.randint(1,99) guess = 0 tries ...
- Cocos2d-x lua 游戏中的文字和标签
游戏场景中的文字分为静态文字和动态文字,在图片中的文字为静态文字,不能通过程序访问,而且无法动态修改内容,但是表现力丰富.动态文字一般需要通过程序访问,需要动态修改内容可以通过标签(Label or ...
- windows PHONE 开发-入门程序构筑
1:页面的扩展名为:.xaml文件类似于ASPX一样可以编写客户端显示内容和后台处理内容 一般的前台页面的形式为: <Page x:Class="MyFirstApp.MainPage ...
- 微软亚洲实验室一篇超过人类识别率的论文:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification ImageNet Classification
在该文章的两大创新点:一个是PReLU,一个是权值初始化的方法.下面我们分别一一来看. PReLU(paramter ReLU) 所谓的PRelu,即在 ReLU激活函数的基础上加入了一个参数,看一个 ...
- Linux 内核编译
注:该文章部分内容摘录自以下链接. http://www.cnblogs.com/zhunian/archive/2012/04/04/2431883.html 创建内核的第一步是创建一个 .conf ...
- ssm+redis 如何更简洁的利用自定义注解+AOP实现redis缓存
基于 ssm + maven + redis 使用自定义注解 利用aop基于AspectJ方式 实现redis缓存 如何能更简洁的利用aop实现redis缓存,话不多说,上demo 需求: 数据查询时 ...
- Linux提权基础
英文原文: Basic Linux Privilege Escalation 在开始之前,我想指出 - 我不是专家. 据我所知,在这个巨大的领域没有一个“魔法”的答案. 这只是我的发现,写出来,共享而 ...
- 转:图解Git[强烈推荐]
https://my.oschina.net/xdev/blog/114383 再次感谢原著作者和中文翻译者. 此页图解git中的最常用命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透 ...
- PHP绘图
创建图像的一般流程1.设定标头,告诉浏览器你要生成的绘图类型.2.创建一个图像区域,以后的操作都将基于此图像区域.3.在空白图像区域绘制填充背景.4.在背景上绘制图形轮廓输入文本.5.输出最终图形.6 ...