1. 程式人生 > >GitHub 安裝、解除安裝、ssh、克隆、上傳

GitHub 安裝、解除安裝、ssh、克隆、上傳

GitHub

20181019

14:19

GitHub簡介

GitHub有一個很強大的功能就是,你在伺服器上邊可以建立一個庫(稍後會介紹怎麼建立),寫程式碼是一件很重的任務,尤其是很多人完成一個很大的專案的時候,就十分的複雜,一群人一起來寫某個專案,大家完成的時間,完成的進度都是不相同的,你寫一點我寫一點,甚至可能你今天寫的出現了錯誤,影響到了我昨天寫的程式碼,最後怎麼才能將大家的程式碼輕鬆的彙總起來,又怎麼在彙總所有人的程式碼之後發現錯誤等等一系列問題。這樣我們就用到了GitHub這個軟體。我們在GitHub伺服器上有一個主倉庫,這裡用來儲存你的所有程式碼,如果不付費的話是所有人都可以看的,如果你不想讓別人看到你的程式碼,可以選擇付費倉庫。我們建立了主倉庫之後,就可以在電腦上建立分支,之後你就可以在電腦上完成自己的程式碼,寫完之後直接同步在電腦的分支,當你認為可以上傳的自己的主倉庫時,就可以申請更新,當通過稽核的時候,你程式碼就出現在了自己的主倉庫中,這樣全世界的程式設計師都可以檢視你的程式碼。全世界現在已經有

300萬的註冊使用者,甚至還有一些相當知名的開源專案也在其中公佈程式碼。在GitHub上你可以看到很多計算機領域的精英所分享的自己的程式碼。這是GitHub的兩個主要優點,適合團隊協作,以及下載其他優秀者的程式碼。

參考:https://blog.csdn.net/Hanani_Jia/article/details/77950594

Git是目前世界上最先進的分散式版本控制系統。

git的工作原理圖:

workspace:工作區

index/staged:暫存區

repository:本地倉庫

remote:遠端倉庫

workspace首先是addindex,讓後commitrepository,

pushremote.

之前安裝了GitHub(windows版)一直沒有用上,右鍵git bash here 不見了,重新安裝學習一下吧

谷歌瀏覽器Tampermonkey可以安裝GitHub漢化工具(https://github.com/52cik/github-hans

先登入GitHub(https://github.com/)註冊賬號

    • 解除安裝
      • 程式解除安裝刪除
    • 安裝
      • 下載GitHubwindows)安裝:https://git-scm.com/  (改改路徑預設安裝就好了)https://blog.csdn.net/sishen47k/article/details/8021100
        每步安裝說明
        • Git bash  命令視窗,基於cmd命令
        • Git GUI   git圖形介面
        • Git CMD   cmd命令視窗
    • ssh key
      • 建立ssh key 金鑰與GitHub賬號繫結
        • 開啟git bash使用者@電腦型號

    • 獲取屬於你自己的密匙

公鑰是CODE識別您的使用者身份的一種認證方式,通過公鑰,您可以將本地git專案與CODE建立聯絡,然後您就可以很方便的將原生代碼上傳到CODE,或者將CODE程式碼下載到本地了。

    • $ cd ~/.ssh                               檢查本機公鑰

如果提示:No such file or directory 說明你是第一次使用git

如果不是第一次使用,請執行下面的操作,清理原有ssh金鑰。

    • $ mkdir key_backup                        清理ssh金鑰

$ cp id_rsa* key_backup

$ rm id_rsa*

    • 生成新金鑰

$ ssh-keygen -t rsa -C “您的郵箱地址”  

引號內需要改成你在註冊GitHub的時候繫結的郵箱賬號。之後會有一些簡單的讓你確認的操作,之後讓你會提示操作路徑、密碼等等,一般情況下就直接按回車一路過就可以。

這個密碼會在你提交專案時使用,如果為空的話提交專案時則不用輸入。

您可以在你本機系統盤下,您的使用者資料夾裡發現一個.ssh檔案,其中的id_rsa.pub檔案裡儲存的即為剛剛生成的ssh金鑰。

    • 新增公鑰

 登入CODE平臺,進入使用者賬戶設定,點選右側欄的ssh公鑰管理,點選新增公鑰,將剛剛生成的公鑰填寫到公鑰欄,併為它起一個名稱,儲存即可。

注意:複製公鑰時不要複製多餘的空格,否則可能新增不成功。

    • 檢查是否新增成功

$ ssh -T [email protected]

報錯處理(https://blog.csdn.net/sunnypotter/article/details/18948053/)

    • 出錯,前面取名預設,已用紅叉標記(不要輸入),預設名id_rsa
    • $ ssh -T [email protected] [email protected]: Permission denied (publickey).
      • 利用 -v debug

$ ssh -T -v [email protected]

可以看到一直在找id_rsa

標記目錄下看果然沒有id_rsa檔案,看了下生成在標記目錄/key_backup目錄下

將檔案移入

    • 簡單配置
      • $ git config --global user.name "id_rsa"
      • $ git config --global user.email "[email protected]"

name最好和GitHub上邊的一樣,email是一定要是註冊GitHub的那個郵箱地址

    • 克隆
      • github建立一個倉庫:記住網站

本地建立一個目錄存放倉庫:G:\GitHubRepository

先進入自定義目錄

克隆

可以看到目錄多了一個倉庫

測試

mayl 下新建一個檔案

檢視$ ls 檢視該目錄下檔案

上傳

 $ git add test.txt

備註

$ git commit -m "cc"  引號內的內容可以隨意改動,這個語句的意思是 給你剛剛上傳的檔案一個備註,方便查詢記憶而已

github上傳

$ git push origin master

登入失敗

輸入賬號重新登入:表示登入成功

github檢視

看到上傳成功

git的執行邏輯:3步

1.建立git倉庫.

建立倉庫分為2:

<1>本地是沒有庫的,從伺服器pull庫到本地來.

<2>本地有庫,上傳庫到伺服器中.

2.提交原生代碼

<1>git add .  是新增所有當前目錄的所有檔案

<2>git commit -m "這裡是添加註釋" :和伺服器的程式碼合併

3.拉取遠端程式碼             git pull

   合併有衝突的程式碼    conflict:merger

修改了伺服器原來的程式碼替換成你的程式碼,這些程式碼有衝突,是選擇你的還是選擇原來的,有衝突的時候,會自動修改你寫的程式碼,並保留伺服器原來的程式碼,如果你是要修改伺服器的,只要刪除自動新增的,再進行2<2>執行下一步步驟就行)

    提交程式碼                     git push

GitHub與svn的區別

SVN是集中式版本控制系統,版本庫是集中放在中央伺服器的,而幹活的時候,用的都是自己的電腦,所以首先要從中央伺服器哪裡得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到中央伺服器。集中式版本控制系統是必須聯網才能工作,如果在區域網還可以,頻寬夠大,速度夠快,如果在網際網路下,如果網速慢的話,就納悶了。

Git是分散式版本控制系統,那麼它就沒有中央伺服器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不需要聯網了,因為版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人如何協作呢?比如說自己在電腦上改了檔案A,其他人也在電腦上改了檔案A,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

分支的作用

你的專案進行中遇到了一個問題,解決方案不確定,但是你不希望因此影響到當前的開發,那麼你可以為此建立分支,然後在分支上測試你的方案,如果可行那麼可以通過合併分支功能將你的更新應用到主幹,反之你可以放棄它。

兩種方式clone伺服器上的程式碼庫:

1)https方式,通過填寫賬號和密碼就可以clone程式碼庫

2)ssh公鑰和私鑰方式,先在本地製作公鑰和私鑰.

解釋:ssh-keygen -t rsa是直接製作公鑰和私鑰 -t是填寫加密的標準rsa 按下三層Enter的鍵可以看見公鑰和私鑰放在哪裡了.(一般在C:\Users\Administrator\.ssh的資料夾中公鑰.pub字尾)

cmd:ssh-keygen -t rsa或者是ssh-key -t rsa -C "可以填任何東西文字一般寫郵箱,這段文字就在公鑰私鑰中文字的最後面"

然後在伺服器中生成公鑰,生成之後,在本地cmd:git clone [email protected]網址x.git就搞定clone程式碼庫了

git常用命令

  • git status -s: 查詢repo的狀態,-s表示short,輸出標記有兩列,第一列是對staging區域,第二列是working目錄
  • git log >>顯示每條分支的合併歷史
  • --oneline --graph:可以圖形化表示分支合併歷史
  • --author=[author name]指定作者提交歷史
  • git add . :帝國添加當前工作目錄中的所有檔案
  • git commit:提交已經被add進來的改動

git的分支操作命令:

  • git branch -b name:建立分支
  • git branch:檢視當前目錄的分支
  • git branch -d name:刪除分支
  • git push origin:name 刪除遠端分支
  • git checkout name:切換分支
  • git checkout --file撤銷修改
  • git rm file :刪除檔案
  • git log --graph :分支情況圖

git新建本地分支與遠端分支關聯問題

  • 1)git在本地新建分支,push到遠端伺服器上之後,再次pull下來的時候,如果不做出來會報提示要求要up-to-data

所以,git本地新建一個分支後,必須要做遠端分支關聯.

  • 例子

本地新建分支:git branch -b new_branch

將本地分支和遠端伺服器關聯:git branch --set-upstream-to=origin/master new_branch(將本地新建的分支new_branch分到伺服器的origin/master的分支下)

跟蹤遠端的分支

git branch --set-upstream-to=origin/分支名 分支名

很多朋友在用github管理專案的時候,都是直接使用https url克隆到本地,當然也有有些人使用 SSH url 克隆到本地。然而,為什麼絕大多數人會使用https url克隆呢?

這是因為,使用https url克隆對初學者來說會比較方便,複製https url 然後到 git Bash 裡面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆卻需要在克隆之前先配置和新增好 SSH key 。

因此,如果你想要使用 SSH url 克隆的話,你必須是這個專案的擁有者。否則你是無法新增 SSH key 的。

https 和 SSH 的區別:

1、前者可以隨意克隆github上的專案,而不管是誰的;而後者則是你必須是你要克隆的專案的擁有者或管理員,且需要先新增 SSH key ,否則無法克隆。

2、https url 在push的時候是需要驗證使用者名稱和密碼的;而 SSH 在push的時候,是不需要輸入使用者名稱的,如果配置SSH key的時候設定了密碼,則需要輸入密碼的,否則直接是不需要輸入密碼的。

相關推薦

GitHub 安裝解除安裝ssh克隆

GitHub 2018年10月19日 14:19 GitHub簡介 GitHub有一個很強大的功能就是,你在伺服器上邊可以建立一個庫(稍後會介紹怎麼建立),寫程式碼是一件很重的任務,尤其是很多人完成一個很大的專案的時候,就十分的複雜,一群人一起來寫某個專案,大家完成的

linux中的ssh安裝解除安裝與配置

注意:以下命令是在root下執行的,若沒root則要輸入su命令進入root環境下或命令前加上sudo,測試版本:ubuntu14.04 64位 ssh的安裝 安裝前先檢查linux下有沒有安

Windows服務一:新建Windows服務安裝解除安裝服務

Windows 服務(即,以前的 NT 服務)使您能夠建立在它們自己的 Windows 會話中可長時間執行的可執行應用程式。這些服務可以在計算機啟動時自動啟動,可以暫停和重新啟動而且不顯示任何使用者介面。這種服務非常適合在伺服器上使用,或任何時候,為了不影響在同一臺計算機上工作的其他使用者,需要長時間執行功能

Windows Service 學習系列(二):C# windows服務:安裝解除安裝啟動和停止Windows Service

一、通過CMD安裝、解除安裝、啟動、停止Windows Service     方法一   1.以管理員身份執行cmd   2.安裝windows服務       切換cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(InstallUtil.e

centos7 安裝 node.js 執行環境解除安裝

一.安裝 1.進入官網下載最新版本  https://nodejs.org/en/ 選擇下載後上傳或直接使用wget下載  wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz

Linux中安裝解除安裝FTP服務

FTP 是File Transfer Protocol(檔案傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式(Application)。基於不同的作業系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協議以傳輸檔

deepin15.7安裝解除安裝MySQL(解決不提示設定密碼問題)修改預設編碼為utf-8以及查詢MySQL的一些命令

一、首先安裝MySQL 安裝前更新一下倉庫,輸入命令:sudo apt-get update [email protected]:~$ sudo apt-get autoremove --purge mysql-server-5.7 輸入命令:sudo

Linux中檢視jdk安裝目錄解除安裝jdkrpm命令rm命令引數

一、Linux中檢視jdk安裝目錄 [[email protected] ~]# whereis java java: /usr/bin/java /usr/local/java#java執行路徑 [[email protected] ~]# which java /usr/

【小卒ubantu使用】ubantu環境下的.egg檔案是什麼,如何安裝解除安裝使用詳解

       egg的英文意思是蛋,俗稱蟒蛇的蛋,python的egg檔案有點像java中的jar檔案,是一個工程包檔案,便於安裝部署 如何製作egg檔案呢?see官方文件http://peak.telecommunity.com/De

Linux軟體之怎麼進行軟體管理?如何查詢安裝解除安裝軟體呢?(Ubuntu)

文章目錄 1. 如何搜尋和檢視軟體庫裡的軟體呢?使用apt-cache 2. 如何安裝和解除安裝軟體呢?使用apt-get 3. 如何檢視系統已安裝的軟體包呢?使用dpkg 4. 還有沒有更強大的功能呢?使用aptitude

mac下操作 nginx 安裝重啟解除安裝檢視路徑

  1. nginx nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server. 從niginx基本介

.NET Windows服務釋出安裝解除安裝監聽指令碼。服務除錯

一、指令碼 為方便不用每次都去寫安裝解除安裝的指令碼 1.安裝指令碼 @echo off @echo 開始安裝【服務】 %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\installutil.exe %~dp0服務名.exe p

VS開發應用程式控制windows服務安裝解除安裝啟停 許可權問題

一、VS可能出現的錯誤提示:     ServiceController無法開啟計算機**上的**服務。   二、原因 編寫的應用程式許可權不夠,無法控制系統windows服務。 三、解決:        

JAVA安裝解除安裝及基本配置

基本上從入門到實用非常全面了。 安裝 安裝Eclipse先配置jdk jdk下載地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html (此處以jdk8為示例) 一、安裝jdk

Ubuntu14.04下Vim編輯器的安裝解除安裝與配置

一    通過終端命令列安裝vim 1)在終端輸入下面命令     2)通過echo $?命令檢查安裝是否成功 如果返回結果是0,表示軟體成功安裝。 如果返回結果是非0,表示軟體安裝過程中出現問題。 3)如果在安裝vim時,顯示找不到什麼包,更新一下下載源就行了

Python安裝解除安裝第三方模組

pip command ModuleName command:用於指定要執行的命令(install:安裝,uninstall:解除安裝) ModuleName:需要安裝的模組名稱 示例: 安裝第三方模組numpy模組(用於科學計算): C:\Users&

Ubuntu安裝解除安裝軟體和新增快捷方式

1、安裝 首先是下載了軟體的tar.gz壓縮包,解壓後移動到/opt目錄,也可以移動到/opt再解壓,反正最後可以刪掉壓縮包。移動時需要許可權,所以終端命令應該為: sudo mv 解壓後的資料夾名 /opt 然後進入這個解壓後的資料夾的bin目錄,找到一個.sh檔案,就可以進

Ubuntu系統中Sublime Text 安裝解除安裝

1.安裝過程非常簡單,在terminal中輸入: wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo apt-get instal

Mac Brew安裝使用解除安裝詳解

定義全域性變數 //主要brew 命令目錄 /usr/local/bin 注:homebrew在安裝完成後自動在/usr/local/bin加個軟連線,所以平常都是用這個路徑 sudo vim /etc/profile export PATH=/usr/lo

1centos下安裝解除安裝docker

1、安裝前檢查     目前,CentOS 僅發行版本中的核心支援 Docker。     Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。     Docker 執行在 CentOS-6.5 或更高的版本的 CentOS 上,要