GitHub for Windows 內建 Git Shell 執行時顏色所代表的意義
在使用指令列版控的過程中,經常有機會用到 Git Shell 這套優異的 Git 版控環境,一來他使用 Windows PowerShell 為核心,其訊息顯示與輸入都支援 Unicode,比較不會有中文字集轉換的問題;二來輸入命令或分支名稱的時候還有 IntelliSense 功能協助,非常貼心的設計;三來在版控的過程中,可以看出當下工作目錄位於哪個分支上,這個提示也很棒;四來常會看到他透過顏色與一些特殊符號提示你目前工作目錄的狀態,但不特別看文件還真的不太容易知道它顏色代表的意義,因此特別撰文解說。
不同的分支顏色所代表的意義
- 青色 (Cyan),代表本地儲存庫與遠端儲存庫是同步狀態!

- 紅色 (Red),代表目前本地儲存庫的版本比遠端儲存庫還落後 (behind),意思是遠端儲存庫擁有目前本地儲存庫沒有的版本,需要透過 git pull 把遠端儲存庫的變更抓回來更新本地儲存庫!
如下圖示,代表目前遠端儲存庫上有 1 個版本 (commit) 需要同步回來:
- 黃色 (Yellow),代表目前本地儲存庫有些版本比遠端儲存庫還落後 (behind),同時間也有些版本比遠端儲存庫還超前 (ahead),意思是說,目前遠端儲存庫擁有目前本地儲存庫沒有的版本,而且本地儲存庫也擁有遠端儲存庫沒有的版本,代表你需要先做 git pull 把遠端儲存庫的變更抓回來更新本地儲存庫,也需要透過 git push 把本地儲存庫的版本變更推送上去。注意:由於遠端與本地都有版本變更,這代表透過 git pull 抓取變更回來時,勢必要面對「合併」的議題,也就是可能會遇見「合併衝突」的狀況。

- 綠色 (Green),代表目前本地儲存庫有些版本比遠端儲存庫還超前 (aheads),意思是說本地儲存庫擁有遠端儲存庫沒有的版本,你需要透過 git push 把本地變更推送到遠端儲存庫。
如下圖示,當我們先用 git pull 把遠端儲存庫的變更抓回來合併或更新之後,顏色馬上變成「綠色」了,也就是這個時候執行 git push 是最安全的(不會有衝突事件發生),你可以這樣思考:【當看到綠燈的時候,就是可以推送版本上去的時刻!】
如下圖,你可以發現,只要我把本地儲存庫的變更推送上去後,顏色就立刻變回青色 (Cyan)了!

工作目錄檔案狀態符號與顏色所代表的意義
在 Git Shell 執行環境中,經常出現的一些有顏色的數字提示,其數字前的符號所代表的意義如下:
+= 有 n 個新增檔案~= 有 n 個檔案被更新-= 有 n 個檔案被刪除!= 有 n 個檔案在合併的時候發生衝突
其顏色所代表的意義如下:
- 暗紅色 (Dark Red),代表這些檔案處於 Untracked 或 Not Staged 狀態 (不會被 commit 的檔案)
- 暗綠色 (Dark Green),代表這些檔案處於 Staged 狀態 (會被 commit 的檔案數
以下圖示各位可以看圖說故事一番:

相關連結
- dahlbyk/posh-git - A PowerShell environment for Git
GitHub for Windows 內建 Git Shell 執行時顏色所代表的意義的更多相关文章
- 使用github的使用,利用git shell命令行模式进行操作
一.登录到git,新建一个版本仓库 二.在"Repository name"一栏里填写版本仓库的名称,如"test",Description栏是描述,可填可不填 ...
- github的使用,利用git shell命令行创建仓库并上传
一.登录到github,新建一个版本仓库 二.在“Repository name”一栏里填写版本仓库的名称,如”test”,Description栏是描述,可填可不填. 默认访问权限为公共,点击”Cr ...
- 【转】Visual Studio單元測試小應用-測執行時間
[转]Visual Studio單元測試小應用-測執行時間 Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單 ...
- windows下使用Git Bash命令行克隆远程仓库代码
此处使用的代码托管平台是GitLab,相比GitHub来说,它可以设置免费的私有仓库,哈哈,妈妈再也不用担心我的源码泄露了!1.切换到本地的工作目录,我的目录是: cd /d/coder/websit ...
- 使用pl/sql監控PROCEDURE執行時間
創建表 CREATE TABLE PROCESS_TIMING_LOG ( PROCESS_NAME VARCHAR2(50 BYTE), EXECUTION_DATE D ...
- github for window 中 git shell 设置代理方法和解决ssl证书错误的问题
体验了一下传说中的 github for windows(操作git有很多的方法,我还没有学会,所以找了个简单的方法),听说用起来还不错,毕竟也开始接触了github.下载地址是 http://win ...
- Git Shell使用笔记
1,首次打开Git shell错误(以前打开过gethub客户端) 警告: git command could not be found. Please create an alias or add ...
- git入门学习(一):github for windows上传本地项目到github
Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法.Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单. 一.首先在g ...
- Github客户端以及Git shell的使用
昨天介绍了怎么使用Git Shell来commit我们的代码,但是这都是简单的操作,我们还没有使用到Github是怎么进行版本控制的呢.所以,今天就来介绍一下,怎么来做版本控制吧. 必备材料 首先要确 ...
随机推荐
- php实验5数组
1.自定义两个数组,分别为索引数组和关联数组,每个数组必须至少有4个元素,使用print_r( )函数输出数组元素. 2.编写一个随机抽奖程序,示例运行结果如下: 3.定义一个三维数组$categor ...
- Android Studio accelerator key(shortcut)& Basic knowledge
shift + F6 重构(选文件,ok->下面的控制台,do refactor option + return 快速修复 Activity@Extra() Intent: @FragmentA ...
- git 删除分支
1,删除本地分支 git branch -D 本地分支名 2,删除远程分支 git push origin --delete 远程分支名 注意:如果只删除了本地分支而没有删除远程分支,再新建一个相同名 ...
- javaSE基础06
javaSE基础06 一.匿名对象 没有名字的对象,叫做匿名对象. 1.2匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值.只能调用一次方 ...
- nagios检测http
/usr/local/nagios/etc/server/下相应的地址检测加上以下一段 (server下的cfg文件是检测相应服务器的模块) define service{ use ...
- 【Java EE 学习 77 下】【数据采集系统第九天】【使用spring实现答案水平分库】【未解决问题:分库查询问题】
之前说过,如果一个数据库中要存储的数据量整体比较小,但是其中一个表存储的数据比较多,比如日志表,这时候就要考虑分表存储了:但是如果一个数据库整体存储的容量就比较大,该怎么办呢?这时候就需要考虑分库了, ...
- mysql 字符串 日期互转
一.字符串转日期 下面将讲述如何在MySQL中把一个字符串转换成日期: 背景:rq字段信息为:20100901 1.无需转换的: SELECT * FROM tairlist_day WHERE rq ...
- win7 下安装RVCT
由于项目的需求,需要使用RVCT 3.1: 一看此包的发布日期,老的吓人,但没办法,只能硬着头皮安装: 环境:WIN7 安装软件RVCT 3.1 build 569 license:由于需要编译的代码 ...
- Win10商店东方财富网 UWP版更新,支持平板,PC,手机
东方财富股份有限公司 近日向Win10商店提交了东方财富网V4.1版,这次为广大Win10平台用户带来了期待已久的桌面版本,可谓是良心厂商,值得鼓励和支持.4.1主要更新: 1. 支持桌面Window ...
- 创建Unity3D的MacOS Plugin的正确姿势
http://www.tedlindstrom.se/how-to-link-dylibs-into-unity3d/ I was roaming around the net looking for ...