顯示具有 Git 標籤的文章。 顯示所有文章
顯示具有 Git 標籤的文章。 顯示所有文章

2019/01/17

[VS Code] 如何整合設定 PHP 的開發環境至 Visual Studio Code

最近在帶 Laravel 工作坊,有許多學員為非程式開發人員,在入門程式開發的過程中。要把開發環境設定完成,若不透過手把手帶領,可能要繞很大圈才有辦法完全設定完畢。

由於 Laravel 這個框架的底程程式語言為 PHP。就以 PHP 的開發環境來跟 Visual Studio Code 做整合介紹。

目的


以 Visual Studio Code 為我們整合的開發環境:Git, Terminal, PHP 的整合設定

這次介紹主要以 Windows 的作業系統平台來做範例。當然大多數的 Visual Studio Code 設定也適用於 Mac,只是在 Mac 的設定上會少很多 (主要是 Terminal 以 bash 為主,PHP 及 Git 的路徑設定在安裝完時已經 Ready 了)

環境

 https://www.laravel-dojo.com/opensource/wagon


2018/06/27

[Git] 在 Windows 使用指令更新 Git 版本

指令就一行,更新很簡單,也不用再去手動找下載點囉!

git update-git-for-windows

2018/06/23

[PowerShell] 安裝 posh-git 模組至 PowerShell

介紹


posh-git 是整合 PowerShell 及 Git 的模組,它提供了整合資訊顯示在命令列中

設定


先開啟 PowerShell 執行安裝模組 (範圍設定為目前的使用者)

Install-Module posh-git -Scope CurrentUser

回答都輸入 Y (是)

匯入 posh-git 模組

Import-Module posh-git



如此一來即可在 PowerShell 看到 Git 的狀態



若要永久使用,就把它加到自己的 Profile 設定去

Add-PoshGitToProfile

以後開 PowerShell 就可以繼續享用 posh-git 囉!

2018/06/01

[Git] 解決 Remote 遇到自我憑證 SSL certification problem

在使用 Git 執行遠端的操作時,若是自我憑證架的服務,可能會遇到顯示以下的錯誤

fatal: unable to access 'https://localhost/winnie/test.git/': SSL certificate problem: self signed certificate


解決方法: (註: 若不想全面開放就不要下這個指令,安全性也會降低,不建議採用此項!)
git config --global http.sslVerify false

單次不驗證:
GIT_SSL_NO_VERIFY=true git clone https://localhost/winnie/test.git
或是
git -c http.sslVerify=false clone https://localhost/winnie/test.git

然後在該 repository 下, 再下一次指定, 即未來此 repository 不需再做驗證
git config http.sslVerify false


剛好用新機器再度遇到問題,還是筆記一下備用!


2021-03-20 更新:
在版本 2.31.0.windows.1 版本,若採用全域開放 http.sslVerify 為 false 時,會出現下圖警告:(SECURITY WARNING - TLS certificate verification has been disabled!)
Git 在 2.14.0 已提供可選擇切換 Secure Channel 與 OpenSSL,我們即可使用 Windows 憑證設定 (建議使用)
git config --global http.sslBackend schannel

參考連結:

2016/01/30

[Git] error: There was a problem with the editor 'vi' [解決 SOLVED]

今天突然遇到 commit 訊息時出現

error: There was a problem with the editor 'vi'
之前倒沒有這個問題,不知道跟我最近在變更 VIM 設定有無關聯

git commit 是會預設取 vi 為編輯器



當然如果用 git commit -m 的方式就不會有這個問題

既然出現問題,還是手動指定一下好了

解決方法: 設定 git 預設編輯器即可



2015/08/26

[Git] 解決 Git - unable to determine absolute path of git directory

今天第一次在 USB 操作遠端 Git 版控, 出現:

unable to determine absolute path of git directory

解決方法: 在 PowerShell 輸入指令

Stop-Process -processname ssh-agent*

git pull

即可正確執行

Reference:
http://stackoverflow.com/questions/11539076/git-unable-to-determine-absolute-path-of-git-directory

2015/07/17

[Git] 移除右鍵選單的 Git 指令選項

Git 在 Windows 系統下預設安裝的右鍵選單指令, 說實在的真的很少用, 今天決定把它移掉

步驟很簡單:


1. 開啟 cmd.exe 命令提示字元



2. 切換到 Git 安裝目錄的 git-cheetah/ 輸入以下指令

64-bit

cd "C:\Program Files\Git\git-cheetah"
regsvr32 /u git_shell_ext64.dll
32-bit

cd "C:\Program Files (x86)\Git\git-cheetah"
regsvr32 /u git_shell_ext.dll

參考: How do I remove msysgit's right click menu options?

2015/02/21

[Android Studio] Git .gitignore file settings

在 Android Studio 使用 Git 來做程式版控, 以下是我使用的 .gitignore 內容

# .gitignore for Android Studio projects

# Gradle files
build/
.gradle/

# Local configuration file (sdk path, etc)
local.properties

# Android Studio
.idea/
*.iml
*.ipr
*.iws

# Eclipse project files
.classpath
.project
.settings

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

2015/02/07

[Git] 修改前一次 commit 的訊息

下指令會開啟預設編輯器, 輸入修正訊息

git commit --amend

直接指令輸入修正訊息

git commit --amend -m "新修改的訊息"

2014/02/28

[Mac] 不要在共享網路儲存區裡產生 .DS_Store 檔案 及 .AppleDouble 資料夾

在 Mac 本機產生 .DS_Store 也就算了...
連共享的也要染指就實在是太超過了~ .AppleDouble

今天在存取 Git Repository 時出現以下訊息~ 怎麼多了奇怪的 Reference
查了一下 NAS 裡的 Repository 發現 .AppleDouble 這個沒看過的東西


在查詢搜尋大神後, 這是與 AFP 的網路服務讀取才產生的
是的, 才連那麼一次, 它就自動寫入...OMG

.AppleDB, .AppleDesktop, .AppleDouble 在根目錄下產生也就算了, 在子目錄裡也給我產生, 就真的火大了!

在手動一個一個目錄去把 .AppleDouble 全部砍掉之後, 終能正常工作!


如果不要再讓它產生在共享網路的儲存區裡, 解決方法如下

不產生 .DS_Store, 在 Terminal 輸入以下指令:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true



至於不產生 .AppleDouble 要在 NAS 裡做設定, 不是所有的 NAS 都有支援, 所以看著辦吧!!

SAMBA 的連接伺服器方法已經足夠使用, 所以我把 NAS 的 AFP 服務給關了!!!


參考:

2014/02/21

[Git] An error was raised by libgit2. -- Solution

在 Visual Studio 2013 使用 Git 從遠端做 Pull 時發生下圖錯誤


錯誤訊息 Error Message:

An error was raised by libgit2. Category = Net (Error). Unsupported URL protocol

解決方案 Solution:

請先確認遠端 Remote 的 Git Repository 可以正確連上, 再做 Pull 動作


2014/01/10

[Git] 2014 年的新學習 -- Git 版本控管



Git 學習動機

2014 年初是我正式邁向 Git 的學習之路, 因為原本使用的中央控管 Server 掛了, 讓我有重新轉換新方法的機會. 這篇將會是 2014 技術文開春第一炮!

轉入 Git 前的版本控管歷史

過去學習 Subversion (SVN) 做中央型版本控管, 其實一個人的版本控管很簡單, 很少有什麼衝突要解決. 主要是為了做程式碼管理及記錄, 有時候可以找回以前的 code. 然後跟一兩個同事一起協同開發, 才進入 SVN 原始碼控管之路.

在 SVN 之前, 我想大家最常做的版本控管就是複製舊版本, 然後變更檔再加一個 v版本號 (如左圖 - 個人通常以年月日來做版本命名). 或是整包相關資料壓縮起來, 再加個版本號.最簡單的控管法, 但是不容易找資料.
 
有了 SVN 之後, 只要開始一個專案就做版本控管. 因為它是中央型管理, 所以在家中的 Server 就裝了一個 SVN Server, 即使多個共同開發者也沒問題. 導入 SVN 原因也是因為多人開發可以做好版本管理. 一直以來也都相安無事. 雖然大多是自己一個人的專案, 所以本機電腦的檔案一定都是最新版本.

就是那麼一天, SVN Server 掛了, Server 主機板燒了, 開不了機. 好啦...連不上 Server 沒有中央控管了, 怎麼辦? 該有的程式都在本機開發, 原始碼都還在, 也有部分 Zip 檔管控存檔, 但是開發記錄都在遠端呀.... 記錄沒了...

新的版本控制學習之路就此展開. 要學哪一種? Team Foundation Server 也是中央型, 但要軟體購置, 小成本的個人工作室暫時不考慮. SVN 領教了, 想學學其他的控管方式. 會接觸到 Git 也是因為看了很多技術達人分享 Git. 而且 Git 具有分散式、效能好、本地存取、無痛分支的特性 (ihower 專家這麼說~). 開始進入 Git 的學習之路. 萬事起頭難, 只要過了第一關, 就會關關難過, 關關過! 反正就是一腳就這麼踏進了 Git 版本控管的世界.

Git 基礎扎馬步

我的第一步是怎麼開始的?

其實用 SVN, 有個 GUI 的工具是必要的, 我在 SVN 的世界其實沒真正地 key 過任何的指令. 全部都是按一按, 從建立 Repository, 新增檔案, Commit 檔案, Merge 檔案, 都有相關的 GUI 來完成. 學習門檻算是低的, 只是觀念停在很簡單的控管方法 -- 建完 Repo, 以後只管 Commit 而已.



Git 的開始亦是如此, 2013年剛開始使用 Git 其實是用 SVN 的觀念在做, 也都是 GUI 來完成上述的基本動作. 直到最近, 想要在原始基礎開發新功能, 需要利用到 "分支" 這個 Git 必學必會的特異功能. 在 Git 的世界, 可以開分支免錢, 然後再做合併. 然後就此愛上 branch~


Git 的世界 = 分支 branch & 合併 merge


從指令開始學習, 可以了解原理及正確關念. 有了正確的關念, 再搭配 GUI 工具, 就會事半功倍!
接下來提供一下我的學習資源清單. 希望也可以幫助到一樣剛起步的朋友們. Let's go!

Git 學習資源

English References:
Git 官網 - Documentation
Git 官網 - Tutorial Videos
Pro Git - Book - 線上閱讀
YouTube - 輸入關鍵字 Git tutorial , 有一堆教學影片足夠學到天荒地老~

中文資源:
Will 保哥 - 30 天精通 Git 版本控管 (Git 正式起步, 我從這裡開始!!!! 啟蒙文~大推~~~~)
ihower - 版本控制系統 Git 精要