GitHub 安裝、解除安裝、ssh、克隆、上傳
GitHub
2018年10月19日
14:19
GitHub簡介
GitHub有一個很強大的功能就是,你在伺服器上邊可以建立一個庫(稍後會介紹怎麼建立),寫程式碼是一件很重的任務,尤其是很多人完成一個很大的專案的時候,就十分的複雜,一群人一起來寫某個專案,大家完成的時間,完成的進度都是不相同的,你寫一點我寫一點,甚至可能你今天寫的出現了錯誤,影響到了我昨天寫的程式碼,最後怎麼才能將大家的程式碼輕鬆的彙總起來,又怎麼在彙總所有人的程式碼之後發現錯誤等等一系列問題。這樣我們就用到了GitHub這個軟體。我們在GitHub伺服器上有一個主倉庫,這裡用來儲存你的所有程式碼,如果不付費的話是所有人都可以看的,如果你不想讓別人看到你的程式碼,可以選擇付費倉庫。我們建立了主倉庫之後,就可以在電腦上建立分支,之後你就可以在電腦上完成自己的程式碼,寫完之後直接同步在電腦的分支,當你認為可以上傳的自己的主倉庫時,就可以申請更新,當通過稽核的時候,你程式碼就出現在了自己的主倉庫中,這樣全世界的程式設計師都可以檢視你的程式碼。全世界現在已經有
參考:https://blog.csdn.net/Hanani_Jia/article/details/77950594
Git是目前世界上最先進的分散式版本控制系統。
git的工作原理圖:
workspace:工作區
index/staged:暫存區
repository:本地倉庫
remote:遠端倉庫
workspace首先是add到index上,讓後commit到repository,
之前安裝了GitHub(windows版)一直沒有用上,右鍵git bash here 不見了,重新安裝學習一下吧
谷歌瀏覽器Tampermonkey可以安裝GitHub漢化工具(https://github.com/52cik/github-hans)
先登入GitHub(https://github.com/)註冊賬號
-
- 解除安裝
- 程式解除安裝刪除
- 安裝
- 下載GitHub(windows)安裝:https://git-scm.com/ (改改路徑預設安裝就好了)https://blog.csdn.net/sishen47k/article/details/8021100
- Git bash 命令視窗,基於cmd命令
- Git GUI git圖形介面
- Git CMD cmd命令視窗
- 下載GitHub(windows)安裝:https://git-scm.com/ (改改路徑預設安裝就好了)https://blog.csdn.net/sishen47k/article/details/8021100
- ssh key
- 建立ssh key 金鑰與GitHub賬號繫結
- 開啟git bash:使用者@電腦型號
- 建立ssh key 金鑰與GitHub賬號繫結
- 解除安裝
-
- 獲取屬於你自己的密匙
公鑰是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安裝目錄、解除安裝jdk、rpm命令、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
1、centos下安裝和解除安裝docker
1、安裝前檢查 目前,CentOS 僅發行版本中的核心支援 Docker。 Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。 Docker 執行在 CentOS-6.5 或更高的版本的 CentOS 上,要