1. 程式人生 > >git和github在ubuntu上的使用

git和github在ubuntu上的使用

git是一個應用最廣泛的分散式版本控制系統,github是提供遠端git倉庫託管服務的網站。下面簡單介紹git和github在ubuntu上的安裝和使用,主要參考的廖雪峰的git教程github官網的教程

1. git安裝與配置

ubuntu系統不自帶git,需要自己安裝:

sudo apt-get install git

安裝完成後,要設定使用者名稱和郵箱地址:

git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"

2. 建立本地版本庫

檢視git有哪些指令,輸入git:

最常用的 git 命令有:
   add        新增檔案內容至索引
   bisect     通過二分查詢定位引入 bug 的變更
   branch     列出、建立或刪除分支
   checkout   檢出一個分支或路徑到工作區
   clone      克隆一個版本庫到一個新目錄
   commit     記錄變更到版本庫
   diff       顯示提交之間、提交和工作區之間等的差異
   fetch      從另外一個版本庫下載物件和引用
   grep       輸出和模式匹配的行
   init       建立一個空的 Git 版本庫或重新初始化一個已存在的版本庫
   log        顯示提交日誌
   merge
合併兩個或更多開發歷史 mv 移動或重新命名一個檔案、目錄或符號連結 pull 獲取並整合另外的版本庫或一個本地分支 push 更新遠端引用和相關的物件 rebase 本地提交轉移至更新後的上游分支中 reset 重置當前HEAD到指定狀態 rm 從工作區和索引中刪除檔案 show 顯示各種型別的物件 status 顯示工作區狀態 tag 建立、列出、刪除或校驗一個GPG簽名的 tag 物件

下面git的使用過程中都是呼叫上面的指令來完成的,首先新建資料夾建立一個新的版本庫(或倉庫,repository):

mkdir learngit
cd learngit

然後git倉庫初始化:

git init

在資料夾中新增檔案,比如:classification.cpp,然後可以新增檔案到git倉庫,分兩步進行:
第一,用git add命令告訴git,將檔案新增到倉庫:

git add classification.cpp

第二,用git commit命令告訴git,將檔案提交到倉庫:

git commit -m "add a new file"

其中-m後面的命令是對本次提交的說明。

為啥新增過程不能用一條git commit命令來完成呢,這兒涉及一個工作區和暫存區的概念。工作區是電腦能看到的目錄,比如learngit資料夾是一個工作區(如下圖左所示)。在learngit資料夾有個隱藏目錄.git,不屬於工作區,而是git的版本庫,版本庫中重要的兩部分是暫存區(下圖中),和建立的第一個分割槽master(下圖右)。

這裡寫圖片描述

然後,上面的兩步所做的工作分別為:
第一步,git add將檔案修改新增到暫存區;
第二步,git commit提交更改,即將暫存區的內容提交到當前分支;

我們建立版本庫時,git自動建立了master分支,git comit即將往master分支上提交更改。可以理解為需要提交的檔案修改全部放到暫存區,然後一次性提交暫存區的修改。

3. 新增到遠端倉庫(github)

git是分散式版本控制系統,同一個git倉庫可以分佈到不同的機器上,這兒的機器,可以指公司的git伺服器或者github,下面以github為例,介紹怎樣將本地git倉庫新增到遠端倉庫。

本地倉庫和github的連線有兩種方式:

3.1 SSH連線

SSH加密傳輸首先要有SSH key,生成過程包括:
第一步,建立SSH key。輸入下面指令:

ssh-keygen -t rsa -C "[email protected]"

之後可以在使用者主目錄裡找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個檔案,這兩個就是SSH Key的祕鑰對,id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。

第二步,登陸GitHub,開啟“Account settings”,“SSH Keys”頁面,然後,點“Add SSH Key”,填上任意Title,在Key文字框裡貼上id_rsa.pub檔案的內容。

需要注意的是,github允許新增多個SSH Keys,假定我們有自己的筆記本和實驗室/辦公室的電腦,需要將每臺電腦的key新增到github,然後可以使用每臺電腦往github推送了。

然後,在github上建立一個名為learngit的空的倉庫(不包含REANME檔案)。
將本地倉庫與github倉庫相關聯並推送內容包含下面兩步:
第一,輸入下面命令:

git remote add origin [email protected].com:dumengnanbuaa/learngit.git

其中,origin代表遠端庫,是git的預設叫法。
第二,將本地庫內容推送到遠端庫:

git push -u origin master

由於遠端庫是空的,第一次推送master分支時,加上了-u引數,git不但會把本地的master分支內容推送的遠端新的master分支,還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。

這樣,我們在github上得到了和本地倉庫相同的倉庫。
修改本地倉庫內容後,再次推送到遠端github倉庫時,即可輸入簡化的命令:

git push origin master

3.2 HTTPS連線

使用HTTPS連線的不同之處在於:其一,不需要SSH key;其二,上面第一條命令地址要改為HTTP地址:

git remote add origin https://github.com/dumengnanbuaa/learngit.git

其他步驟相同。HTTPS連線因為不需要SSH key,步驟簡單,也是github推薦的連線方式,然而其缺點為速度比SSH連線方式慢。

4. 從遠端倉庫(github)克隆

上一節介紹先有本地庫,後有遠端庫的時候,如何關聯遠端庫。假設我們從零開發,最好的方式是先建立遠端庫,然後,從遠端庫克隆。

首先在github上建立一個新的倉庫,倉庫名為learngit,這次要勾選Initialize this repository with a README。

遠端庫已經準備好了,下一步是用命令git clone克隆一個本地庫,也分兩種方式。
SSH連線克隆命令為:

git clone [email protected].com:dumengnanbuaa/learngit.git

HTTP連線克隆命令為:

git clone https://github.com/dumengnanbuaa/learngit.git

在本地倉庫修改完程式碼後,推送到github庫的指令和上一節相同:

git push origin master

5. 其他常用git指令

在本地倉庫使用的常見git命令包括:

  • git status命令檢視倉庫當前的狀態;
  • git diff file 命令檢視檔案兩次修改之間的變化;
  • git log命令顯示所有的提交日誌;
  • git reset命令回退到之前的版本。

6. 總結

實踐中,常用開發流程:從零開發,最好的方式是先建立遠端庫,然後,從遠端庫克隆。
第一,在github上建立一個新的倉庫,倉庫名為learngit,勾選Initialize this repository with a README;
第二,HTTP連線克隆到本地:

git clone https://github.com/dumengnanbuaa/learngit.git

第三,修改本地倉庫程式碼,完成後,用git add .命令告訴git,將所有檔案修改新增到倉庫:

git add .

第四,用git commit命令告訴git,將檔案提交到倉庫:

git commit -m "add a new file"

第五,推送到遠端github倉庫:

git push origin master

相關推薦

gitsvn傳程式碼到遠端倉庫

一.git 往coding上初次上傳專案流程 1、首先在coding建立專案,建立後再- -程式碼-獲取訪問的https 2、克隆 $ cd  找個放空專案的地方 (新建一個空的資料夾,然後cd進入到這個資料夾) $ git clone https://coding.net

使用gitTortoiseGit傳程式碼至GitHub

最近和一個朋友共享開發一個小程式,但是我們需要來回拷貝工程,比較麻煩,突然想起GitHub可以當成一個版本庫來控制 這樣 我們倆開發的時候就不用複製貼上傳檔案了。。。。 關於GitHub這方面的資料網上很多 個人對dos命令又極度的恐懼。。。所以參考別人的資料 完成了使用T

使用gitTortoisegit傳本地專案到gitHub

1.下載安裝git 2.下載安裝Tortoisegit 出現如上兩部分,則表明安裝成功。 3.生成key 首先點選下個圖片紅線標註的PuTTYgen 先生成一個key 點選Generate生成 key 很長很長時間之後

如何用命令將本地專案傳到gitssh配置

嘛,就是將伺服器上的網站和本地同步。首先是上傳伺服器上的網站到github倉庫git initgit add .git commit -m ''關聯遠端倉庫,先去github上新建一個,new repositorygit remote add origin 你的遠端庫地址同步 合併git pull --reb

如何用命令將本地項目傳到gitssh配置

pub 上傳 posit comm pos pull 地址 rem 關聯 嘛,就是將服務器上的網站和本地同步。首先是上傳服務器上的網站到github倉庫git initgit add .git commit -m ‘‘關聯遠程倉庫,先去github上新建一個,new rep

檢視修改的歷史記錄 git log 命令 返回一次修改版本 git reset 、git reflog(五)

上一篇,已經學會了修改檔案,然後再把修改檔案提交到Git版本庫,now,再重複執行一次,修改index.html檔案如下: 然後執行新增、提交: 像這樣,你不斷對檔案進行修改,然後不斷提交修改到版本庫裡,每次修改到一定程度時,再提交;一旦你把檔案改亂了,或者誤刪了檔案,還可以從最

GitGithub的關聯應用,傳專案原始碼等----第一階段

引言: 進行下面操作時需要滿足條件 1.Git已經安裝,並且SSH KEY已經配置在GitHub上 2.擁有一個Github賬號 一,使用Github建立一個庫(respository)

mac安裝git配置使用者名稱郵箱

1.檢查電腦上是否安裝了git。執行git 執行之後,如果如下下面的內容,則證明已經安裝了git,否則跳到第二步 2.安裝git。執行brew install git即可。 配置使用者名稱和郵箱 初次使用g

Win7GitSourceTree安裝配置

兩顆星:Git安裝配置過程-Win7 - CSDN部落格  http://blog.csdn.net/fengye_yulu/article/details/52116146 兩星半:win7下安裝sourcetree - CSDN部落格  http://blog.csd

GitTortoiseGit圖文快速實現程式碼

Git和TortoiseGit快速實現Github程式碼上傳 一.下載地址 1.      Git地址 2.      TortoiseGit地址 二.Git和TortoiseGit安裝

git 免輸使用者名稱密碼傳程式碼到GitHub

平時使用git上傳程式碼到GitHub的時候,每次上傳都要輸入使用者名稱和密碼,感覺有點煩,今天去上網查了一下原因,並自己修改成功,不再需要輸入使用者名稱和密碼也能上傳程式碼。 首先要知道,為什麼會出現每次上傳程式碼都要輸入使用者名稱和密碼呢? 原因在於:

Android Studio中GitGitHub使用詳解(篇)

一、Git和GitHub簡述 1.Git 分散式版本控制系統,最先使用於Linux社群,是一個開源免費的版本控制系統,功能類似於SVN和CVS。Git與其他版本管理工具最大的區別點和優點就是分散式; git是採用分散式版本庫機制,不需要每次都將檔案推送到版本控制伺服

IDEA整合Git版本控制工具—分享專案到Git私服Git私服克隆專案到IDEA

如果使用的是Git私服,那麼大概的流程和上面相似的。只說一下有所區別的地方:將IDEA中的專案推送到Git私服上在選單上選擇VCS,選擇Import into Version Control,選擇Cre

gitgithub在ubuntu的使用

git是一個應用最廣泛的分散式版本控制系統,github是提供遠端git倉庫託管服務的網站。下面簡單介紹git和github在ubuntu上的安裝和使用,主要參考的廖雪峰的git教程和github官網的教程。 1. git安裝與配置 ubuntu系統不自帶g

使用eclipse自帶的git從githubclone傳專案

第一步:首先在GitHub上建立一個庫。 第二步:記住這個庫的URI 第三步:在eclipse中進入其git模式 第四步:選擇在git中clone一個庫 第五步:在彈出的對話方塊中貼上第二步中URI,這一步要輸入你的賬號密碼(此處略過) 第六步:GitH

GitLab/Git在AndroidStudio的配置簡單使用

GitLab/Git在AndroidStudio上的使用 文 | 莫若吻      (注:以下內容純屬個人經驗,若有不當或者錯誤之處請大家指出,我會改正。非常感謝!) 1.在AndroidStu

把本地檔案傳到遠端倉庫:gitgithub,前提是傳的不能是空資料夾

把本地檔案上傳到遠端倉庫:git和github 前提是上傳的不能是空資料夾,git是不能上傳空資料夾的,要是太想上傳空資料夾,就往裡面放一個readme.txt,老子搞了半天就是因為這個原因沒上傳成功我的檔案目錄,廖雪峰的部落格裡面也沒有提醒,真是太壞了 (

方法加事務

入庫 temp spring ise work order -1 oid mes package com.yundaex.wms.config; import org.springframework.beans.factory.annotation.Autowired;

tomcat 分別在window Linux配置SSL-安全問題

win const 火狐 隱患 ati then proto constrain ssl協議 公司項目收尾後。通過壓力測試後的安全測試。安全測試後中,對於網絡傳輸中數據加密問題存在安全隱患。須要配置SSL。 簡

使用gitgithub管理項目代碼

你是 -s 同時 查看 現在 後來 為我 一次 官方 以前不知道使用代碼管理工具,最後寫的一些東西都沒有了,由於硬盤壞了或者不小心格式化了之類的,後來使用了Git 和Github來托管自己的代碼和讀書筆記方便了不少,到哪裏只要有網就可以把自己的東西拷貝下來繼續使用。 我這裏