Git for Windows是專為Windows平臺開發的一套輕量化、本地化Git SCM工具,支持所有Git功能特性。msysgit包含一個命令行工具Git Bash和一個gui工具Git GUI。對于習慣TortoiseSVN的同學來說,或許Git GUI太簡陋了,沒關系,安裝完msysgit后你依然可以安裝TortoiseGit,實現svn到git的平滑過渡。
Git是一個免費的、開源的版本控制軟件,相比傳統Subversion(SVN)這類版本控制軟件有著先進的功能優勢,越來越多項目開始采用Git系統進行管理。Git for Windows包含Git BASH、Git GUI和Shell Integration模塊。
WINDOWS下的git安裝包,安裝msysgit的過程中一路下一步即可,假定你的路徑為C:/msysgit
在windows上安裝git,本想使用MinGW編譯,但是失敗,后來得知git在windows上只能在cygwin中編譯。基于cygwin編譯的windows安裝包,安裝后挺大的,后來找到一個msysGit這個開源項目,是基于MinGW的。剛好昨天花了大半天時間手工安裝了MinGW和MSYS,已經可以用了,但是一些庫還沒裝。
在介紹MsysGit之前我們需要先提到說說Git,Git是基于Linux內核開發的一款免費、開源的分布式版本控制系統,擁有極強的功能,可用于敏捷高效地處理任何或小或大的項目,這款MsysGit就是Git版本控制系統在Windows系統下的版本。MsysGit集成了所需要的運行環境和組件,支持所有Git功能特性,自帶Gui圖形界面,菜單也能配置Git,安裝后很快可以上手,是Windows下搭建Git的是不二之選!
Windows系統可安裝的Git,本次安裝所選擇的是msysgit。官方網址:https://gitforwindows.org/
本次教程的并不是最新版本的,但是完全不影響學習,只是安裝過程了加了一些選項,默認就可以了。
第一部分,安裝選擇好安裝目錄
選擇好配置,然后next
點擊next,注意紅色箭頭
選擇回車換行的格式。默認即可.(檢出時轉換為Windows風格,提交時轉換為Linux風格.)
下面圖片默認第一個意思就是 將windows回車換行轉換為LInux風格的換行
點擊Finish
打開桌面git-bush
出現此頁面表示msysgit安裝成功
1、查看版本信息
使用快捷鍵 win + r 打開 windows 應用程序, 輸入 cmd 來查看 git 是否安裝成功,
在 cmd 里面輸入:
where git 查看 git 的安裝路徑
git version 查看 git 版本
2、配置github的ssh密鑰:
(1)打開Git Bash查看電腦上是否已經存在SSH密鑰:
輸入 cd ~/.ssh
若如上圖顯示無法找到該文件則要創建新的ssh key;
(2)創建新的ssh key:
輸入 ssh-keygen -t rsa -C "your_email@youremail.com"
執行這條命令會如上圖提示文件保存路徑,可以直接按Enter,
然后提示輸入 passphrase(密碼),輸入兩次(可以不輸直接兩次Enter),
然后會在 .ssh 目錄生產兩個文件:id_rsa和id_rsa.pub
用記事本打開.ssh目錄下的id_rsa.pub文件,復制里面的內容;
3、復制ssh key到github:
On the GitHub site Click “Account Settings” > Click “SSH Keys” > Click “Add SSH key”
打開github網站,點擊右上角扳手圖標,然后點擊左邊菜單的 ssh key, 然后右邊頁面的 add ssh key,將復制的內容粘貼到github的key中,title可以不填,直接保存即可。
4、測試 ssh 鏈接 github:
輸入 ssh -T git@github.com
出現Successfully就OK;
5、設置自己的git信息:
輸入
git config --global user.name "Firstname Lastname" (此處name可修改也不是用于登錄github的登錄名)
git config --global user.email "your_email@youremail.com"
設置自己的git信息即完成安裝和設置,可以輸入git config --list查看自己的git信息。
補充
git config --global user.name”用戶名” --設置當前用戶的用戶名
git config --system user.name”用戶名” --設置的用戶名可作用于當前主機
git config user.name”用戶名” --設置當前項目的用戶名
郵箱設置類似于用戶名設置,改為 user.email”郵箱地址”即可
當初始化一個倉庫的時候,git主目錄下會出現一個.git的隱藏文件夾
git –init 初始化倉庫, 這個.git文件夾就是初始了一個空的git倉庫。
當再次設置用戶郵箱時顯示錯誤,因為我當時已經設置過了
pwd與ll命令
pwd是顯示當前目錄位置,ll是顯示當前文件夾下的文件
新發現的命令
git gui
會彈出一個圖形化的界面,是git的gui圖形化界面。
msysGit的配置及中文支持
假設msysGit的安裝為:C:/Git
1、在C:/Git/etc/git-completion.bash文件中添加:
alias ls='ls --show-control-chars --color=auto'
作用:使得在 Git Bash 中輸入 ls 命令,可以正常顯示中文文件名。
2、修改C:/Git/etc/inputrc文件中的兩項配置:
set output-meta on
set convert-meta off
作用:使得在 Git Bash 中可以正常輸入中文,比如中文的 commit log。
3、在C:/Git/etc/profile文件中添加:
export LESSCHARSET=utf-8
作用:$ git log命令不像其它vcs一樣,n條log從頭滾到底,它會恰當地停在第一頁,按space鍵再往后翻頁。這是通過將log送給less處理實現的。以上即是設置less的字符編碼,使得$ git log可以正常顯示中文。其實,它的值不一定要設置為 utf-8,比如latin1也可以……。還有個辦法是$ git --no-pager log,在選項里禁止分頁,則無需設置上面的選項。
4、在C:/Git/etc/gitconfig文件中修改或添加如下配置:
[gui]
encoding = utf-8
作用:我們的代碼庫是統一用的 utf-8,這樣設置可以在
git gui 中正常顯示代碼中的中文。
[i18n]
commitencoding = GB2312
作用:如果沒有這一條,雖然我們在本地用$ git log看自己的中文修訂沒問題,但,一、我們的log推到服務器后會變成亂碼;二、別人在Linux下推的中文log我們pull過來之后看起來也是亂碼。這是因為,我們的commit log會被先存放在項目的.git/COMMIT_EDITMSG文件中;在中文Windows里,新建文件用的是GB2312的編碼;但是Git不知道,當成默認的utf-8的送出去了,所以就亂碼了。有了這條之后,Git會先將其轉換成utf-8,再發出去,于是就沒問題了。
[core]
quotepath = false
作用:沒有這一條,$git status輸出中文會顯示為UNICODE編碼。
[core]
editor = notepad
作用:修改編輯器,比如$git commit時輸入log,默認是vim,按自己的喜好選擇吧。
5、最后一條,在C:/Git/etc/gitconfig文件中添加:
[alias]
go = “! bash -c /”git pull && git add .; if [ ///"$*///" == ///"///" ]; then git commit -a; else git commit -am ///”$*///”; fi; git push origin master:your-id;/”"
作用:簡化日常操作,目前還不需要,也沒怎么搞明白這條指令嗎,還是先用熟了基礎指令再說。
新聞熱點
疑難解答
圖片精選