1. 程式人生 > >GITHUB之GIT BASH使用教程

GITHUB之GIT BASH使用教程

寫在前面 這篇文章寫完後,感覺不是很滿意,漏掉了一些常用的命令忘記寫,如“git tag”,“git diff”,“git show”,“git log”,“git remote”等。但是作為教程,應該是越簡單越好,文章太長,反而惹人討厭,這樣一想,也就沒有繼續補充了。 GITHUB 是全球最出名的基於 GIT 的程式碼託管平臺之一,可以免費的託管開原始碼。作為一名軟體工程師,對程式碼的管理養成一個良好的習慣是非常重要的。本人將講解如何使用 GIT BASH 管理 GITHUB 中的程式碼庫。 Git 是基於 Linux 核心開發的版本控制工具。與常用的版本控制工具 CVS,Subversion 等不同,它採用了分散式版本庫的方式,不必伺服器端軟體支援,使原始碼的釋出和交流極其方便。 Git 的速度很快,這對於諸如 Linux kernel 這樣的大專案來說自然很重要。 Git 最為出色的是它的分支、合併、跟蹤的能力。 申請 GITHUB 賬號 關於 GITHUB賬號如何申請,本文將不再描述。但是需要注意的一點是,國外的網站對密碼的要求都非常的高,密碼設定的不夠複雜可能導致無法註冊提交。 安裝 GIT 客戶端 GITHUB 官網有上提供 GITHUB for Windows 應用程式,關於 GITHUB for Windows 的使用非常的方便,圖形介面同時也提供了 GIT Bash。要求必須是 Windows7 及以上的作業系統,如果您使用的 Windows XP 的系統,就只能安裝其他 GIT 客戶端了。 配置 SSH KEYS 要使用SSH協議連線 GITHUB,首先需要生成 SSH KEYS。生成的金鑰是兩個檔案,一個公鑰一個私鑰。公鑰需要提交給GITHUB 官網您的賬號中。關於如何生成 SSH Keys,請看如下步驟示例: 檢查 SSH keys
$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
生成 keys
$ ssh-keygen -t rsa -C "[email protected]"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
然後按照提示輸入密碼,最後出現如下提示則說明生成成功。
Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]
將生成的新祕鑰加入 SSH 客戶端
# start the ssh-agent in the background
$ ssh-agent -s
# Agent pid 59566
$ ssh-add ~/.ssh/id_rsa
複製公鑰 複製公鑰可以開啟檔案複製,也可以使用命令,建議使用命令複製,否則可能出現無法授權的問題。如下命令:
$ clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
將公鑰加入到 GITHUB 賬號 登入 GITHUB 在 Settings->SSH keys 選單下新增,將剪下板的內容貼上到 Key 文字框中,名稱可以隨意填寫。到現在為止,配置工作已經完成。 GIT BASH 命令詳解 git init 初始化 GIT,只有初始化了以後才可以使用 GIT 相關命令。在初始化之前,可以先建立一個資料夾。如下示例
$ mkdir lmlphp
$ cd lmlphp
$ git init
git clone 獲取遠端專案,並下載到本地。遠端庫的地址在 GITHUB 專案中會有提供。下面是我測試時顯示的內容,若執行成功,則將顯示同下面類似的內容。
C:\Users\May\Documents\GitHub\test> git clone [email protected]:leiminglin/LMLPHP.g
it
Cloning into 'LMLPHP'...
Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of know
n hosts.
remote: Counting objects: 210, done.
remote: Total 210 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (210/210), 66.48 KiB | 15.00 KiB/s, done.
Resolving deltas: 100% (102/102), done.
Checking connectivity... done.
C:\Users\May\Documents\GitHub\test>
git branch git branch 命令用於建立分支,檢視分支。檢視分支可以使用引數-a,-v,-r等,a代表所有,v代表版本資訊,r 代表顯示遠端分支。下面的例子使用“git branch develop”建立了一個新的分支。
C:\Users\May\Documents\GitHub\test> cd .\LMLPHP
C:\Users\May\Documents\GitHub\test\LMLPHP [master]> git branch -av
* master                 405960a session_write_close() when fatal error occured
  remotes/origin/HEAD    -> origin/master
  remotes/origin/develop 405960a session_write_close() when fatal error occured
  remotes/origin/master  405960a session_write_close() when fatal error occured
C:\Users\May\Documents\GitHub\test\LMLPHP [master]> git branch develop
C:\Users\May\Documents\GitHub\test\LMLPHP [master]> git branch -av
  develop                405960a session_write_close() when fatal error occured
* master                 405960a session_write_close() when fatal error occured
  remotes/origin/HEAD    -> origin/master
  remotes/origin/develop 405960a session_write_close() when fatal error occured
  remotes/origin/master  405960a session_write_close() when fatal error occured
C:\Users\May\Documents\GitHub\test\LMLPHP [master]>
git checkout git checkout 命令用於建立分支和切換分支。*號代表當前分支,下面通過 checkout 命令切換到 develop 分支。"checkout"在英文中的意思是檢出,但是也不難理解,GIT 中分支其實就是一個指向,速度很快;現在我的本地有兩個分支,但是隻有一份程式碼,當使用 checkout 命令切換分支並且兩個分支的內容不同時,你會發現磁碟上的檔案內容即刻發生了變化。checkout 命令還可以用來建立分支並切換到這個分支,使用 checkout -b 引數即可,下面的例子使用此命令建立了 newFeature 分支並切換到了這個分支。
C:\Users\May\Documents\GitHub\test\LMLPHP [master]> git checkout develop
Switched to branch 'develop'
C:\Users\May\Documents\GitHub\test\LMLPHP [develop]> git branch -av
* develop                405960a session_write_close() when fatal error occured
  master                 405960a session_write_close() when fatal error occured
  remotes/origin/HEAD    -> origin/master
  remotes/origin/develop 405960a session_write_close() when fatal error occured
  remotes/origin/master  405960a session_write_close() when fatal error occured
  C:\Users\May\Documents\GitHub\test\LMLPHP [develop]> git checkout -b newFeature
Switched to a new branch 'newFeature'
C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]> git branch -av
  develop                405960a session_write_close() when fatal error occured
  master                 405960a session_write_close() when fatal error occured
* newFeature             405960a session_write_close() when fatal error occured
  remotes/origin/HEAD    -> origin/master
  remotes/origin/develop 405960a session_write_close() when fatal error occured
  remotes/origin/master  405960a session_write_close() when fatal error occured
C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]>
git status git status 命令用來檢視當前分支狀態。如下示例:
C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]> git status
On branch newFeature
nothing to commit, working directory clean
git pull git pull 命令用來更新程式碼,該命令相當於 git fetch 和 git merge 的組合。需要注意的是,如果來源是遠端分支 develop,則必須這樣寫“origin develop”,origin 後面有個空格。如果遠端分支存在有和當前分支一樣的名字,則可以不指定分支。如下示例:
C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]> git pull
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of know
n hosts.
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details

    git pull  

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/ newFeature

C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]> git pull origin develop
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of know
n hosts.
From github.com:leiminglin/LMLPHP
 * branch            develop    -> FETCH_HEAD
Already up-to-date.
C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]>
git add git add 命令用來增加更新的內容,後面的引數為目錄名或者檔名,一般在 git commit 命令之前使用。通過 git diff 可以檢視有哪些不同之處,只有被增加的更新才會被提交到版本庫。 git commit git commit 命令用來提交更新。更新時需要提交註釋,使用 -m 引數。GITHUB 提供的 GIT 客戶端做的非常好,如果您忘記添加註釋,它會彈出文字框讓你填寫。如下示例:
C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]> git commit -m "test"
On branch newFeature
nothing to commit, working directory clean
git push git push 命令用來推送更新到遠端庫,此命令一般在 commit 命令之後使用。如果遠端沒有對應的分支名,則需要通過設定引數“--set-upstream”指定提交到哪個分支。如下示例:
C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]> git push
fatal: The current branch newFeature has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin newFeature

C:\Users\May\Documents\GitHub\test\LMLPHP [newFeature]> git push --set-upstream
origin develop
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of know
n hosts.
Branch develop set up to track remote branch develop from origin.
Everything up-to-date

GIT BASH 的功能非常強大,使用也非常方便,特別適合大型專案多人同時開發。圖形介面工具雖然方便簡單,但是效率遠遠不能跟命令列相比。本文簡單的介紹了 GIT BASH 的使用,更多的功能請使用 --help 命令檢視,系統會使用瀏覽器開啟 HTML 版本文件,描述的非常詳細。

參考連結

相關推薦

GITHUBGIT BASH使用教程

寫在前面 這篇文章寫完後,感覺不是很滿意,漏掉了一些常用的命令忘記寫,如“git tag”,“git diff”,“git show”,“git log”,“git remote”等。但是作為教程,應該是越簡單越好,文章太長,反而惹人討厭,這樣一想,也就沒有繼續補充了

git 入門教程 git bash 竟然不支援 tree 命令

開門見山 git bash 是 Windows 使用者安裝 git 時預設安裝的命令列工具,不僅介面漂亮功能也不錯,大多數情況下可以替代 Windows 原生的 cmd 命令列. 然而,git bash 命令列不是萬金油,並不能完全替代 cmd ,詳情請參考 mintty 官網的相關說明. mintty

GithubGIT BASH基礎命令列

GITHUB中GIT BASH基礎命令列 原文 : https://www.cnblogs.com/WangXinPeng/p/8016293.html 今天來講一下關於github命令列相關知識。呵呵,其實github都沒太明白就把git bash擺上來當道菜。看來,我有當程式設

GithubGit Bash Here 的用法

切換到使用者: git config --global user.name "Paulin-peng" git config --global user.email "[email protected]" 1. git config --global use

Githubgit bash的使用

將Github上的專案下載到本地 一、Git bash使用命令git clone https://github.com/liangyuyi/helloworld.git 二、直接根據網址下載壓縮包 Git Bash 切換回上一級目錄 cd .. ,檢視該目錄下的文件 ls

Mac Git 學習教程 本地專案程式碼上傳到GitHub

在終端上輸入命令,拉一下遠端的程式碼,如出現報錯“fatal: refusing to merge unrelated histories”,只需要在該命令列新增允許即可“--allow-unrelated-histories”,然後跳出文件說明,退出即可,具體如下圖

Git詳細教程(3)---結合gitHub使用

之間 方便 結果 最新 strong ini 編輯 repos github 1.GitHub的基本使用 GitHub就是一個網站,本身是基於Git,可以完成版本控制,可以托管代碼。 英文版的。 在使用GitHub之前,首先需要註冊一個賬號。 登錄,就可以完成相關的

Git安裝教程(三)分支管理分支管理策略

ive comm 歷史 -a adg txt文件 post graph 刪除 通常,合並分支時,如果可能,Git會用Fast forward模式,但這種模式下,刪除分支後,會丟掉分支信息。 如果要強制禁用Fast forward模式,Git就會在merge時生成一個新的co

版本管理(一)GitGitHub的區別(優點和缺點)

機制 最大 客戶 內核 文件 敏捷 star 一定的 sch Git 簡介 https://www.yiibai.com/git/getting-started-git-basics.html Git 是一個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的

版本管理(二)GitGitHub的連接和使用

ext 郵箱地址 github 遠程倉庫 編輯器 version it 管理 png 記錄 首先需要註冊登錄GitHub:https://github.com 然後 ①:下載Git 先從Git官網,由於我的系統是64位的所以選擇64-bit Git for Wi

Git 基礎教程 創建版本庫

初始化 .com ima 版本 repo -a info 版本庫 新建 一,選擇一個合適的地方,創建空目錄,下面兩種方法都可 ① 手動新建 ② 使用命令: mkdir pythonwork 二,初始化,使目錄變成Git可管理的倉庫 執行: git

Git 基礎教程 撤銷修改

撤銷 pan 文件的 .com 分享 png 基礎教程 mit 技術 Git跟蹤並管理的是修改,而非文件。每次修改,如果不用git add到暫存區,那就不會加入到commit中, 要麽全部改完後,再add → commit ;要麽改一點,就add → commit。 撤

使用git bashgithub遠程倉庫提交代碼

git 暫存 修改 origin 3.2 span bsp config 註意 1、登錄github,創建倉庫。 2、切換到要提交的文件目錄下。 3、打開git bash   3.1、初始化倉庫 git init   3.2、將本地倉庫與遠程倉庫關聯 git re

git-github-TortoiseGit綜合使用教程(二)快速入門

克隆 程序 總結 https .com 推送 tag b- 標簽 一:建立版本庫 在github網站上創建一個版本庫,並復制clone地址。 [email protected]:jackadam1981/Flask_Base.git https://github.com/j

Git Bash上傳專案至Github

1. 在Github上新建一個repository。 3. 選擇專案資料夾,點選滑鼠右鍵,在彈出的選單項中選擇“Git Bash Here”。 4. 將Github上的倉庫克隆到本地,在bash中: Git clone [email protected

git協同開發 Github協同開發

Github之協同開發 一、協同開發 1、引子:假如三個人共同開發同一份程式碼,每個人都各自安排了任務,當每個人都完成了一半的時候,提交不提交呢? 要提交,提交到dev嗎,都上傳了一半,這樣回家拿出來的程式碼根本跑不起來。所以, 為每一個

github=>git=>composer Packages 使用教程

2018年12月17日14:32:05 因為要做搜尋,所以需要用分詞工具php的分詞不借助的第三方的真的很少, 目前選擇的是 http://www.phpbone.com/phpanalysis/ 但是這個外掛沒有放上github,雖然有些同學自己搬到了github上但是都有一些封裝,但是不是

GIT -- bash命令與github之間的操作合集

縱使圖形化工具遍地,我對bash的愛意也是無法停止的,因為生命的意義在於裝13。 git config --global user.name "" git config --global user.email ""    //設定使用者名稱與郵箱 git config -

git bash命令用法及程式碼上傳到github

1.開啟git bash   $ git 輸入git命令 指導都存在了  2.檢視分支 git branch       //檢視自己本地分支 (* 代表當前分支) git branch -a

Git簡單教程(二)--GitHub for Windows

Git簡單教程(二) GitHub for Windows git工具有好幾種,之前其實針對window都不是太友好,比如還需要自己安裝Cygwin這樣的模擬環境,Cygwin的安裝和配置都比較複雜,不過,有高人已經把模擬環境和Git都打包好了,名叫ms