ubuntu上建立本地git 和 網絡 github的上傳與下載


github工具是一個很好用的工具,可以在本地建立一個git倉庫,存儲當前寫的程序或者數據,然后通過ssh與github建立聯系。具體怎么實現,下面進行介紹。

1、首先要安裝git 軟件

在Linux上安裝Git

首先,你可以試着輸入git,看看系統有沒有安裝Git:

 
        
$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

如果之前沒有安裝過git的話,輸入上面的git命令就會出現The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
,然后輸入sudo apt-get install git,就可以安裝git了。

2、安裝好了git之后就可以創建版本庫了。什么是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以
被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
所以,創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄:

$ mkdir learngit
$ cd ./learngit
$ pwd
/home/sawyer/learngit
pwd命令用於顯示當前目錄。
我的電腦下面顯示如下:
sawyer@sawyer-ThinkPad:~$ cd ./learngit
sawyer@sawyer-ThinkPad:~/learngit$ pwd
/home/sawyer/learngit
3、在home下面建立好了一個文件夾之后就可以建立一個git倉庫了。
建立git倉庫的命令如下:
通過git init命令把lerarngit這個目錄變成Git可以管理的倉庫:
 
        
$ git init
Initialized empty Git repository in /home/sawyer/learngit/.git/

我的電腦顯示如下:
sawyer@sawyer-ThinkPad:~/learngit$ git init
Initialized empty Git repository in /home/sawyer/learngit/.git/
現在就已經初始化好了,已經建立了一個git本地倉庫。在命令行輸入ls無法顯示.git,因為這是個隱藏文件。可以使用ls -al命令,然后會有顯示,或者打開對應的文件夾,
使用快捷鍵ctrl+h,就可以看到在learngit 文件夾下面有一個.git文件。

4、在本地庫添加一個文件命令如下
$ nano readme.txt

在readme.txt 中輸入一句文本:this is my first git,然后保存
和把大象放到冰箱需要3步相比,把一個文件放到Git倉庫只需要兩步。
第一步,用命令git add告訴Git,把文件添加到倉庫:
$ git add readme.txt
執行上面的命令,沒有任何顯示,這就對了,

第二步,用命令git commit告訴Git,把文件提交到倉庫:
$ git commit -m "first git"

我的電腦顯示如下:
sawyer@sawyer-ThinkPad:~/learngit$ git commit -m "first git"
[master (root-commit) 48819ed] first git
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt
簡單解釋一下git commit命令,-m后面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄。
git commit命令執行成功后會告訴你,1 file changed:1個文件被改動(我們新添加的readme.txt文件);1 insertions:插入了一行內容(readme.txt有一行內容)。

為什么Git添加文件需要addcommit一共兩步呢?因為commit可以一次提交很多文件,所以你可以多次add不同的文件。

初始化一個Git倉庫,使用git init命令。

 
        

添加文件到Git倉庫,分兩步:

 
        
  1. 使用命令git add <file>,注意,可反復多次使用,添加多個文件;
  2. 使用命令git commit -m <message>,完成。

以上是建立了一個本地倉庫的完整過程。下面將要介紹把建好的本地庫上傳到github上面。

5、創建一個ssh,這里解釋一下,如何把本地的倉庫上傳到github呢,首先需要先建立一個聯系,將本地倉庫與github建立聯系使用ssh。

第1步:創建SSH Key。在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsaid_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com“

 你需要把郵件地址換成你自己的郵件地址,然后一路回車,使用默認值即可,由於這個Key也不是用於軍事目的,所以也無需設置密碼。

如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,里面有id_rsaid_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。

第二步:將新生成的key添加到ssh-agent中(這一步必不可少):

# start the ssh-agent in the background
eval "$(ssh-agent -s)"
Agent pid 59566
ssh-add ~/.ssh/id_rsa

 

第3步:登陸GitHub,打開“Account settings”,“SSH Keys”頁面:

然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容,點“Add Key”,你就應該看到已經添加的Key。

小提示,如果不想手動打開id_rsa.pub,可以選擇使用命令進行復制,命令代碼如下:

sudo apt-get install xclip # Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)  xclip -sel clip < ~/.ssh/id_rsa.pub # Copies the contents of the id_rsa.pub file to your clipboard

為什么GitHub需要SSH Key呢?因為GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。

當然,GitHub允許你添加多個Key。假定你有若干電腦,你一會兒在公司提交,一會兒在家里提交,只要把每台電腦的Key都添加到GitHub,就可以在每台電腦上往GitHub推送了。

最后友情提示,在GitHub上免費托管的Git倉庫,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放進去。

6、現在本地庫和github已經建立起了連接誒,現在就可以將本地庫的信息上傳到github庫中了。在將本地庫上傳到github時需要在github上建立一個庫。

現在的情景是,你已經在本地創建了一個Git倉庫后,又想在GitHub創建一個Git倉庫,並且讓這兩個倉庫進行遠程同步,這樣,GitHub上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協作,真是一舉多得。

首先,登陸GitHub,然后,在右上角找到“Create a new repo”按鈕,創建一個新的倉庫:

在Repository name填入learngit,其他保持默認設置,點擊“Create repository”按鈕,就成功地創建了一個新的Git倉庫:

目前,在GitHub上的這個learngit倉庫還是空的,GitHub告訴我們,可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然后,把本地倉庫的內容推送到GitHub倉庫。

現在,我們根據GitHub的提示,在本地的learngit倉庫下運行命令:

$ git remote add origin git@github.com:Deep/learngit.git

請千萬注意,把上面的Deep替換成你自己的GitHub賬戶名,否則,你在本地關聯的就是我的遠程庫,關聯沒有問題,但是你以后推送是推不上去的,因為你的SSH Key公鑰不在我的賬戶列表中。

添加后,遠程庫的名字就是origin,這是Git默認的叫法,也可以改成別的,但是origin這個名字一看就知道是遠程庫。

下一步,就可以把本地庫的所有內容推送到遠程庫上:

$ git push -u origin master

把本地庫的內容推送到遠程,用git push命令,實際上是把當前分支master推送到遠程。

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

以上6步完成了本地倉庫的創建,本地倉庫與github建立聯系,本地倉庫上傳到githuab倉庫,下面介紹如何從github上面下載文件。

7、如何克隆github的數據,這里我以下載剛才上傳的文件為例進行克隆下載。

$ git clone git@github.com:Deep/learngit.git

這個命令就可以克隆Deep帳號下的learngit了。   

通過下載的這個learngit,可以修改里面的文件,在使用下面這個命令

$ git push  origin master

就可以把修改的內容在上傳到github上了。實現了修改github的內容。

 

這篇隨筆主要是自己在學習git與github做的記錄,學習內容參考了廖雪峰老師的網站,他寫的很好,很細致,適合新手學習,在此貼上鏈接:https://www.liaoxuefeng.com/

里面有很多的教程。

 

 

 





 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM