Git+GitHub,構建自己的開源倉庫之Git命令

把本地倉庫關聯(lián)到GitHub倉庫

通過第一篇Git+GitHub,構建自己的開源倉庫之初識Git的操作,我們已經有了一個本地倉庫git-test了,現(xiàn)在把它發(fā)布到我的GitHub倉庫里,怎么操作呢?

  • 配置SSH加密信息
    由于本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以,首先要做的就是配置SSH加密信息。

    1. 生成SSH Key:因為安裝完git后,SSH也會默認安裝上,所以,在Git Bash輸入命令ssh,會出現(xiàn)下面的內容:


      ssh信息
      ssh信息

      證明ssh已經安裝在電腦里了。現(xiàn)在可以輸入生成ssh key的命令了:

      ssh-keygen -t rsa
      

后面執(zhí)行三個回車(不包括上面這條命令的回車),然后在你的用戶目錄下會生成.ssh文件夾,是隱藏文件,里面有以下內容(known_hosts文件暫時可以忽略):


生成的SSH公鑰和私鑰
生成的SSH公鑰和私鑰
  1. 添加公鑰到GitHub賬戶
    id_rsa是私鑰,id_rsa.pub是公鑰(文件類型是Microsoft Publish的那個),用編輯器打開公鑰,拷貝里面的內容;然后登陸你的GitHub賬戶,打開“settings”,點擊左側“SSH and GPG keys”頁面,然后,點“New SSH Key”,填上任意Title(也可不填),在Key文本框里粘貼剛才拷貝的公鑰:


    拷貝公鑰
    拷貝公鑰

    點“Add SSH Key”,你就應該看到上面的列表中已經添加的Key。


    添加公鑰成功
    添加公鑰成功
  • 配置用戶名和郵箱
    用戶名是你GitHub賬戶的用戶名,郵箱是你GitHub賬戶注冊用的郵箱

    git config --global user.name "your-github-account-name"
    git config --global user.email "your-github-email@163.com"
    
  • 關聯(lián)本地倉庫

    1. 登陸GitHub,然后,在右上角找到“Create a new repo”按鈕,創(chuàng)建一個新的倉庫:


      創(chuàng)建GitHub Repo
      創(chuàng)建GitHub Repo
    2. 關聯(lián)倉庫,cd到本地倉庫根目錄,執(zhí)行:

      git remote add origin git@github.com:chengshengyang/git-test.git
      

origin是倉庫的名字,這里使用的是約定俗成的名稱origin,chengshengyang一定要換成你自己的GitHub賬戶名字,也就是你配置的用戶名。
好了,這樣就關聯(lián)成功,可以試試在本地git-test倉庫里新建一個文本文檔test.txt,然后push到GitHub上。


Git常用命令操練

在Git Bash輸入git命令:


git常用命令一覽表
git常用命令一覽表

如果忘記了某個命令可以先到這里面來找找看,這里還對git的命令做了一個分類,每個命令后面對應一個簡短的說明。

  • 狀態(tài)查詢

    git status
    

這條命令的使用頻率是相當?shù)母撸卸喔吣兀?br>

三四樓那么高
三四樓那么高

這條命令簡直就像是我們在git中的眼睛一樣,時刻告訴我們當前的倉庫是什么情況,上次離開時的最后保存狀態(tài)是怎樣,接下來有哪些事需要做等等。
注意:如果家里的這臺電腦還沒有Git相關環(huán)境,請參考第一篇文章,準備好Git環(huán)境

  • 查看改動內容
    git diff
    我們用git status查看到本地文件有改動,但是不知道具體有哪些變化,可以用這條命令來查看,比如我改動了本地的b.txt文件,輸入git status:
    $ git status
    On branch master
    Your branch is up-to-date with 'origin/master'.
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)

      modified:   b.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    

    現(xiàn)在知道b.txt的狀態(tài)是modified,那看看編輯了什么內容:

    $ git diff b.txt
    diff --git a/b.txt b/b.txt
    index 6608a0d..2323b58 100644
    --- a/b.txt
    +++ b/b.txt
    @@ -1,4 +1,3 @@
     00000000000000000000000000
     111111111111111111111111111
    -2222222222222222323333333333
    -44444444444444
    \\ No newline at end of file
    +2222222222222222323333333333
    \\ No newline at end of file
    

減號是刪除,加號是新增,上面的內容是說最后一行從原來的“444444444444...”變成了現(xiàn)在的“2222222222222222323333333333”,也就是刪除了最后一行內容。

  • 拉取服務器最新內容
    git pull origin master
    一般再開始新的工作之前,都要先保證自己的本地倉庫與遠程倉庫保持一致,也就是把自己的代碼更新到最新狀態(tài),這樣做的好處是減少沖突的可能性。

    git的大多數(shù)命令都是可以脫機工作的(push和pull必須聯(lián)網),因為,你的操作都是對本地倉庫的內容進行操作的,可以在不聯(lián)網的情況下,正常的提交代碼,這種便捷性是一些傳統(tǒng)的CVCS系統(tǒng)所不具備的,比如Perforce在不連接到服務器的情況下幾乎什么都做不了,包括編輯;Subversion和CVS雖然可以編輯內容,但無法提交代碼。

  • 添加到暫存區(qū)
    git add

    對本地代碼進行了增刪改操作之后,需要提交到遠程倉庫時,git add命令是第一步,把需要提交的內容添加到暫存區(qū),關于暫存區(qū)這個概念是git特有的,其他的傳統(tǒng)的版本控制系統(tǒng)并沒有這個概念,暫存區(qū)的作用是暫存本地將要提交的內容,然后提交時一次性將暫存區(qū)的內容全部提交到遠程倉庫。
    問題來了,要添加的內容太多怎么辦?
    git add -A
    那萬一這里面又有一個文件a.java是我不小心修改的,或者暫時不想提交,執(zhí)行git add -A后怎么把a.java移除暫存區(qū)呢?
    git rm --cached a.java
    這樣就把文件a.java從暫存區(qū)中移除來了,但不會物理刪除,也不會被提交到遠程倉庫了。

  • 內容提交
    git commit -m "description for commit"

    把暫存區(qū)的內容提交到本地倉庫,這個時候,我們的內容在GitHub或者其他的遠程倉庫中還是沒有的,因為commit操作還是在本地進行的,也正因為如此,Git才可以脫機工作。那如果想要提交到GitHub遠程倉庫怎么辦呢?看下面

  • 推送到遠程倉庫
    git push origin master

    這條指令才是真正的把本地內容推送到遠程倉庫,別人才能更新到你的推送。

以上,基本上是使用Git進行版本控制的一個常用的最簡單的流程會用到的命令了,也是使用頻率比較高的命令,包括:拉取遠程倉庫最新內容-編輯本地倉庫內容-將編輯的內容添加到暫存區(qū)-修改暫存區(qū)內容-提交到本地倉庫-推送到遠程倉庫。

當然,我們在實際使用時絕不會這么簡單。git的命令也不少,這里不可能一次說完,關鍵在于經常使用、經常練習,沒事的時候多敲敲命令,領會每個命令的含義。


統(tǒng)計下人數(shù)
統(tǒng)計下人數(shù)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,699評論 9 163
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,695評論 4 54
  • 今日難得大膽一次,都工說今晚要留兩個人加班,旭姐是其中一個,本來說讓我加班,但是我說好的今晚陪老大去洗澡,然后去實...
    安妮不是鋁漢子閱讀 263評論 0 0
  • 以前總覺得自己有很多靈光乍現(xiàn)般的想法,但沒有及時記錄下來,錯過了很多靈感,覺得十分可惜。堅信只要把這些靈感都寫出來...
    Mr__Pan閱讀 728評論 1 2
  • 時間猶如洪水猛獸,沖走一切,卻不留痕跡 以至于我忘記了去年的今天我們還在一起 度過了七月上的忙碌、七月下的穩(wěn)定,向...
    好小姐閱讀 500評論 0 1