1. 程式人生 > >(四)Git--遠端倉庫

(四)Git--遠端倉庫

Git是分散式的版本控制系統,也就意味著同一個Git倉庫可以分佈到不同的機器上,那麼怎麼分佈呢,開始肯定只有一臺機器有一個原始的版本庫,Git提供“克隆”這個操作,別的機器都可以來克隆這個初始的版本庫,每臺機器上的版本庫並無差別,也無主次之分。

實際操作中,我們往往找一臺電腦充當伺服器,處於24小時開機狀態,其他每個人都從這個伺服器倉庫克隆一份到自己的電腦上,並且之後各自修改也都提交到伺服器倉庫裡,也從伺服器倉庫中拉取別人的提交.

接下來,介紹如何使用GitHub這個神奇的網站,這是一個提供Git倉庫託管服務的網站.

  1. 由於你的本地倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以需要如下設定:
    2.1 建立SSH Key.在使用者主目錄下,進入.ssh目錄,檢視有沒有id_rsa
    (私鑰)和id_rsa_pub(公鑰)兩個檔案,這兩個就是SSH Key的金鑰對,其中私鑰千萬不能洩露出去;如果沒有,開啟Shell,建立SSH Key:
    ssh-keygen -t rsa -C "[email protected]"
    2.2 登陸Github,開啟"Account settings",點選"SSH and GPC keys"頁面,然後點"Add SSH Key",Title可以任意填寫,在Key文字框中貼上id_rsa.pub檔案的內容:

    2438927-a26ffc32f542442f.png


    點選"Add Key",接下來就應該可以看到已經新增的Key:

2438927-469d26f7c60b97d2.png


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

點選瞭解;

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

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

新增遠端倉庫

在本地倉庫Java下執行命令:
git remote add origin [email protected]:alanluochong/Java
新增後,遠端庫的名字就叫origin,這時Git預設的叫法,也可以改成別的,但是origin這個名字一看就知道是遠端庫.
接下來我們就可以把本地庫的內容推送到遠端庫上:

$ git push -u origin master
Counting objects: 149, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (131/131), done.
Writing objects: 100% (149/149), 93.83 KiB | 0 bytes/s, done.
Total 149 (delta 74), reused 0 (delta 0)
remote: Resolving deltas: 100% (74/74), done.
To https://github.com/Alanluochong/spring-boot-mongo.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

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

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

添加了遠端倉庫後,只要本地作了提交,就可以通過命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub,這時候,你就擁有了真正的分散式版本庫!

從遠端庫克隆

我們可以使用git clone克隆一個本地庫:
$ git clone [email protected]:Alanluochong/spring-boot-mongo.git
當然我們也可以使用:
$ git clone https://github.com/Alanluochong/spring-boot-mongo.git這樣的地址.實際上,Git支援多種協議,預設的git://使用ssh,但也可以使用https等其他協議.但通過ssh支援的原生git協議速度最快.

相關推薦

Git--遠端倉庫

Git是分散式的版本控制系統,也就意味著同一個Git倉庫可以分佈到不同的機器上,那麼怎麼分佈呢,開始肯定只有一臺機器有一個原始的版本庫,Git提供“克隆”這個操作,別的機器都可以來克隆這個初始的版本庫,每臺機器上的版本庫並無差別,也無主次之分。 實際操作中,我們往往找一

git操作總結5遠端倉庫

1.連結本地庫和遠端倉庫 git remote add origin [email protected]:michaelliao/learngit.git 2.推送到遠端 git push -u origin testbranch 3.建立遠端分支 git

vue專案筆記3-Git克隆倉庫程式碼-初始化專案-提交程式碼到遠端倉庫

在程式碼倉庫建立完成之後,通過Git克隆程式碼到本地,具體步驟如下: 1、登入碼雲(https://gitee.com),進入自己的專案中,點選“克隆/下載”,選擇“SSH”,點選“複製”; 2、開啟終端,進入桌面(任意一個空資料夾),執行以下命令,其中[emai

Spark環境搭建-----------數據倉庫Hive環境搭建

apr 程序 版本 擴展 arch 表名 數據集 .tar.gz 自定義 Hive產生背景 1)MapReduce的編程不便,需通過Java語言等編寫程序 2) HDFS上的文缺失Schema(在數據庫中的表名列名等),方便開發者通過SQL的方式處理結構化的數據,而不需

idea git的使用git建立分支與合併分支

      1. 為什麼要建立分支 git預設的主分支名字為master,一般團隊開發時,都不會在master主分支上修改程式碼,而是建立新分支,測試完畢後,在將分支的程式碼合併到master主分支上。 2.操作如下: 2.1 idea g

Git的學習與使用——Git 工作區、暫存區和版本庫

基本概念 我們先來理解下Git 工作區、暫存區和版本庫概念 工作區:就是你在電腦裡能看到的目錄。 暫存區:英文叫stage, 或index。一般存放在 ".git目錄下" 下的index檔案(.git/index)中,所以我們把暫存區有時也叫作索引(index)。 版本庫:工作區有一個隱

Git的學習與使用——Git 建立倉庫

Git 建立倉庫 本章節我們將為大家介紹如何建立一個 Git 倉庫。 你可以使用一個已經存在的目錄作為Git倉庫。 git init Git 使用 git init 命令來初始化一個 Git 倉庫,Git 的很多命令都需要在 Git 的倉庫中執行,所以 git i

Git初學札記————Git Push的常規操作與Pull衝突解決

目錄 引言 同步 圖示 重點 引言 在團隊開發當中,Git Push是多人協作環節中的最重要的一環可能沒有之一。同SVN一樣,push操作可以看做是對遠端程式的提交。 在多人協作中,push往往是最容易出現問題的一個環節,因為其他開發者有可能修改

Git 遠端倉庫配置2

1.gitHub新增 SSH Key 本地Git倉庫和github倉庫之間的傳輸是通過SSH加密的所以需要作如下設定. 第一步:建立SSH Key。Git客戶端工具進入使用者本地創庫主目錄下,通過命令( ssh - keygen -t rsa -C "815*****[email

git 推送到遠端倉庫

寫在前面,出現的bug: 目的:要將本地檔案推送到自己建的遠端倉庫中(即github上) 總體思路: 1,在github上新建一個遠端倉庫(github上有很多遠端倉庫,一個資料夾就算一個倉庫,自己的github賬號就像一棟大樓,每個repository就

git】強制覆蓋原生代碼git遠端倉庫保持一致

git強制覆蓋:    git fetch --all    git reset --hard origin/master    git pullgit強制覆蓋本地命令(單條執行):    git fe

刪除Git遠端倉庫專案的所有內容,重新提交所有內容填檔案大小寫坑

問題 在向github遠端倉庫同步專案的時候發現,之前重新更改大小寫的資料夾同步出了問題,導致同時存在大小寫的資料夾。 或是如果我們上傳了一個專案到git並已經commit和push了所有內容,但是忘記搞gitignore檔案,導致一些不想加入版本控制的檔案,如IDE配置檔案,

Git的使用遠程倉庫添加及克隆

http brush image csharp sch 沒有 把他 cnblogs key Git是分布式版本控制系統,同一個Git倉庫,可以分布到不同的機器上。怎麽分布呢?最早,肯定只有一臺機器有一個原始版本庫,此後,別的機器可以“克隆”這個原始版本庫,而且每臺機器的版本

Maven中的倉庫

setting back wid csdn esp strong itl nexus 知識 一、分類 maven的倉庫只有兩大類:   1.本地倉庫 2.遠程倉庫,在遠程倉庫中又分成了3種:   2.1 中央倉庫 2.2 私服 2.3

Git

抓取 form 通過 修復 失敗 number pull 協作 branch 分支策略: 1.合並分支時,加上--no-ff參數就可以用普通模式合並,合並後的歷史有分支,能看出來曾經做過合並,而fast forward合並就看不出來

Git學習筆記 --- --- git的安裝及本地倉庫的創建,github上倉庫的連接方式

由於 分布式版本控制 是我 控制系統 路徑 一行代碼 信息 控制 fff 首先了解git的作用是什麽,本地倉庫,中央倉庫都是幹什麽的? Git是分布式版本控制系統,同一個Git倉庫,可以分布到不同的機器上。實際情況往往是這樣,找一臺電腦充當服務器的角色,每天24小時開機,其

git2======== 連接倉庫後提交報錯

war fatal ref details repo caused date 目錄 rst 在共享完成密鑰後出現如下情況 [root@python3_ansible python]# git push -u origin master Username for ‘htt

【筆記篇】斜率優化dp ZJOI2007倉庫建設

描述 get -- ons turn clu 最小花費 ont inline 傳送門戳這裏>>> \(n\leq1e6\), 顯然還是\(O(n)\)的做法. 這個題有個條件是只能運往編號更大的工廠的倉庫, 這也是寫出樸素dp的方程的條件. 我們令\(f

git 在windows下的應用 - 遠程倉庫代碼管理

軟件研發 研發管理 克隆遠程git 目錄https://github.com/pcdogyu/git4windows.git克隆下來了生成1.txtscan stage signoff commit2次提交記錄推送到遠程地址完成了還沒來得及去網頁呢,就收到系統提示郵件網頁查看1.txt已經提交上去了對

git 命令行-推送分支到遠程

clas code match lin line 一個 lob 命令 default 在本地新建一個分支: git branch newBranch 切換到你的新分支: git checkout newBranch 創建並切換到新分支: git checkout -b