在使用指令列版控的過程中,經常有機會用到 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 的檔案數

以下圖示各位可以看圖說故事一番:

相關連結

GitHub for Windows 內建 Git Shell 執行時顏色所代表的意義的更多相关文章

  1. 使用github的使用,利用git shell命令行模式进行操作

    一.登录到git,新建一个版本仓库 二.在"Repository name"一栏里填写版本仓库的名称,如"test",Description栏是描述,可填可不填 ...

  2. github的使用,利用git shell命令行创建仓库并上传

    一.登录到github,新建一个版本仓库 二.在“Repository name”一栏里填写版本仓库的名称,如”test”,Description栏是描述,可填可不填. 默认访问权限为公共,点击”Cr ...

  3. 【转】Visual Studio單元測試小應用-測執行時間

    [转]Visual Studio單元測試小應用-測執行時間 Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單 ...

  4. windows下使用Git Bash命令行克隆远程仓库代码

    此处使用的代码托管平台是GitLab,相比GitHub来说,它可以设置免费的私有仓库,哈哈,妈妈再也不用担心我的源码泄露了!1.切换到本地的工作目录,我的目录是: cd /d/coder/websit ...

  5. 使用pl/sql監控PROCEDURE執行時間

    創建表 CREATE TABLE PROCESS_TIMING_LOG (   PROCESS_NAME       VARCHAR2(50 BYTE),   EXECUTION_DATE     D ...

  6. github for window 中 git shell 设置代理方法和解决ssl证书错误的问题

    体验了一下传说中的 github for windows(操作git有很多的方法,我还没有学会,所以找了个简单的方法),听说用起来还不错,毕竟也开始接触了github.下载地址是 http://win ...

  7. Git Shell使用笔记

    1,首次打开Git shell错误(以前打开过gethub客户端) 警告: git command could not be found. Please create an alias or add ...

  8. git入门学习(一):github for windows上传本地项目到github

    Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法.Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单. 一.首先在g ...

  9. Github客户端以及Git shell的使用

    昨天介绍了怎么使用Git Shell来commit我们的代码,但是这都是简单的操作,我们还没有使用到Github是怎么进行版本控制的呢.所以,今天就来介绍一下,怎么来做版本控制吧. 必备材料 首先要确 ...

随机推荐

  1. nginx配置返回文本或json

    有些时候请求某些接口的时候需要返回指定的文本字符串或者json字符串,如果逻辑非常简单或者干脆是固定的字符串,那么可以使用nginx快速实现,这样就不用编写程序响应请求了,可以减少服务器资源占用并且响 ...

  2. mysql5.7安装

    用到的命令和文件: 错误日志:/usr/local/mysql/data/carydeMBP.lan.err 忘记密码时,关闭mysql的密码登陆验证:mysqld_safe --skip-grant ...

  3. 「C++」理解智能指针

    维基百科上面对于「智能指针」是这样描述的: 智能指针(英语:Smart pointer)是一种抽象的数据类型.在程序设计中,它通常是经由类型模板(class template)来实做,借由模板(tem ...

  4. ABAP 特性值取数 非BAPI方式

    特性值在ausp,objnr  一般是客户号或是客户号拼接的,客户号加特征字段特征类别就可以取了

  5. WPF去边框与webbrowser的冲突

    首先建一个类,比如NativeMethods.cs class NativeMethods{     public const int WS_CAPTION=0x00C0000;     public ...

  6. jquery样式篇

    1.jquery: 1.1简介 jquery是一个轻量级的javascript库.版本号分1.x版本和2.x版本,2.x版本不再支持IE6 7 8,而更好的支 持移动端开发. 每一个版本分为开发版和压 ...

  7. KVO __ 浅谈

    KVO :Key-Value Observing 它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知.简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了. ...

  8. 【Java EE 学习 76 下】【数据采集系统第八天】【通过AOP实现日志管理】【日志管理功能分析和初步实现】

    一.日志管理相关分析 1.日志管理是一种典型的系统级别的应用,非常适合使用spring AOP实现. 2.使用日志管理的目的:对系统修改的动作进行记录,比如对权限.角色.用户的写操作.修改操作.删除操 ...

  9. webform中Session和Cookie对象的用法

    Session: Session:在计算机中,尤其是在网络应用中,称为"会话控制".Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web页之间 ...

  10. linux中redis的主从

    主从模式的概念请自行百度! 主服务器只执行写操作.从服务器执行读操作. 主服务器中的数据会同步到从服务器中. 在从服务器中打开redis目录中的redis.conf文件 vim /usr/local/ ...