Git 聯機版

来源:http://www.cnblogs.com/wangxiaoqiangs/archive/2016/03/30/5336377.html
-Advertisement-
Play Games

簡介: 之前研究了 Git 單機版 ( 單兵作戰 ),今天來研究一下 Git 聯機版 ( 團隊協作 )! GitHub 是一個開源的代碼托管平臺,可以分享自己的代碼到該平臺上,讓大家參與開發或供大家使用,等。( 也可以搭建自己的 Git 倉庫,相關產品:gitlab 、coding.net ) 一、 ...



簡介:

之前研究了 Git 單機版 ( 單兵作戰 ),今天來研究一下 Git 聯機版 ( 團隊協作 )!

GitHub 是一個開源的代碼托管平臺,可以分享自己的代碼到該平臺上,讓大家參與開發或供大家使用,等。( 也可以搭建自己的 Git 倉庫,相關產品:gitlab 、coding.net )

一、GitHub ( 使用開源的代碼托管倉庫 )

1、創建 GitHub 賬號:https://github.com/

## 創建好用戶後,點擊右上角 -> Settings -> Emails 這裡需要驗證郵件地址 ( 建議不要寫網易旗下的郵箱地址,如:163 / 126 否則你會崩潰的,收不到 github 發送的驗證郵件 )

2、打開 Sehll / git Shell 生成公鑰、私鑰 ( Linux / Windows )

shell > ssh-keygen -t rsa -C "[email protected]" # 全部預設回車

3、登陸 GitHub 點擊 Settings -> SSH keys -> Add an SSH key ( 有了 key 就能證明你就是你了~ ,可以添加多個 key )

輸入 Title ( 任意 )
輸入 公鑰 ( id_rsa.pub 中的內容 )

-> Add key

4、這樣就在 GitHub 安好家了,GitHub 上的內容預設公開,別人可讀。

## Github 地址:https://github.com/wangxiaoqiangs

5、登陸 GitHub 點擊右上角的 '+' 號 -> New Repository 創建遠程倉庫

Repository name : MyTest  # 倉庫名稱

Description(optional) :       # 倉庫描述

Public : 只能勾選這個,不花錢的情況下

> Create repository

## 現在你可以看到創建好的一個空倉庫,上面有提示可以這麼、那麼操作!

二、與遠程倉庫交互

1、git 配置

shell > git config --global user.name 'wangxiaoqiangs'
shell > git config --global user.email '[email protected]'
shell > git config --global color.ui true

2、創建本地庫

shell > mkdir -p /git/MyTest
shell > git init                                        # 初始化 git 倉庫
Initialized empty Git repository in /git/MyTest/.git/

shell > echo "This is a test repository" > README.md    # 生成測試文件,並提交到本地庫
shell > git add README.md
shell > git commit README.md -m 'first commit'

3、關聯遠程倉庫、推送本地倉庫

shell > git remote add origin [email protected]:wangxiaoqiangs/MyTest.git # 本地倉庫跟遠程倉庫關聯
shell > git push -u origin master # 將本地倉庫推送到遠程倉庫,第一次推送時要加 -u 參數
Counting objects: 3, done.
Writing objects: 100% (3/3), 237 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:wangxiaoqiangs/MyTest.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.

## 現在去 GitHub 就可以看到 MyTest 倉庫中有 README.md 文件了

註意:第一次執行時,會有如下提示,屬正常

The authenticity of host 'github.com (192.30.252.128)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of known hosts.

shell > cp /script/20150902/Student_management_system.py . # 拷貝一個文件來本地倉庫,並提交
shell > git add Student_management_system.py
shell > git commit Student_management_system.py -m 'Second submission'
[master a946cf0] Second submission
1 files changed, 124 insertions(+), 0 deletions(-)
create mode 100644 Student_management_system.py

shell > git remote origin master # 將最新的修改推送到遠程倉庫
Warning: Permanently added the RSA host key for IP address '192.30.252.129' to the list of known hosts.
Counting objects: 4, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 1.33 KiB, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:wangxiaoqiangs/MyTest.git
5fdb1c4..a946cf0 master -> master

## 現在遠程倉庫中也有了新的文件了~

4、從遠程倉庫克隆

## 登陸 GitHub 創建遠程倉庫

Repository name : GithubTest   # 倉庫名稱

Description(optional) :              # 倉庫描述

Public : 只能勾選這個,不花錢的情況下

Initialize this repository with a README : 勾選,自動生成 README.md

> Create repository

## 現在就創建了一個遠程倉庫,並生成了 README.md 文件

shell > cd /git/
shell > git clone [email protected]:wangxiaoqiangs/GithubTest.git # 從遠程倉庫克隆一份到本地
Initialized empty Git repository in /git/GithubTest/.git/
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

shell > cd GithubTest/ ; ls # README.md 文件已經克隆到了本地
README.md

shell > 修改 README.md 文件,添加一行 Local change

shell > git add README.md
shell > git commit README.md -m 'First submission'
shell > git push origin master

## 將修改推送到遠程倉庫

三、分支管理

shell > git clone [email protected]:wangxiaoqiangs/MyTest.git # 克隆一個遠程庫到本地

shell > git branch # 查看本地分支
* master

shell > git checkout -b dev # 新建、並切換分支 ( git branch dev # 新建分支 git checkout dev # 切換分支 )
Switched to a new branch 'dev'

shell > git branch # 再次查看分支,前面有 * 的代表當前分支
* dev
master

shell > echo 'This is a testing' > T.txt # 新建一個測試文件,並提交
shell > git add T.txt
shell > git commit T.txt -m 'dev commit'
[dev 59b4093] dev commit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 T.txt

shell > git checkout master # 切換回主分支
Switched to branch 'master'

shell > git branch # 可以看到當前分支是 master,現在是看不到剛纔在 dev 分支創建的 T.txt 文件的,因為還沒有合併分支
dev
* master

shell > git merge dev # 將 dev 分支合併到當前分支,也就是 master (主) 分支
Updating a946cf0..59b4093
Fast-forward
T.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 T.txt

shell > git branch -d dev # 刪除 dev 分支,也可以不刪
Deleted branch dev (was 59b4093).

shell > git branch # 倉庫中再次只剩下主分支了
* master

shell > git push origin master # 將修改推送到遠程倉庫
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 279 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To [email protected]:wangxiaoqiangs/MyTest.git
a946cf0..59b4093 master -> master

## 如果合併分支有衝突的話,要自己手動編輯文件,之後重新提交 ( git add File.txt , git commit -m 'commit' )
## 如果有別的分支修改文件,沒有合併前不要在 master 分支修改文件,否則會合併衝突
## 查看合併日誌:git log --graph --pretty=oneline --abbrev-commit

## 合併分支的時候:git merge --no-ff -m "merge with no-ff" dev ,採用 --no-ff 參數,可以在刪除分支後也能查到合併日誌


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 簡介: 多餘的話不說,就是源碼安裝 Mysql 5.6 ,機器記憶體 512 MB ,系統 CentOS 6.6 ,安裝方式 minimal ! 1、安裝底層支持包 2、創建用戶、組 3、下載、安裝 Mysql 4、啟動 Mysql 5、安裝完成,測試 ...
  • 安裝教程:http://jingyan.baidu.com/article/3a2f7c2e653d5926afd61197.html 安裝好之後打開SQL server 2014 Management Studio ,可以採用Windows身份驗證也可以採用SQL server身份驗證,但是在我們 ...
  • 問題: 有時候,我們在將excel表格中數據導入資料庫中時,對於表格中的數字會預設為float的數據類型,這個時候導入到資料庫中的這個表的值是正常顯示的; 然而如果你要把導入到資料庫中的表,再插入到另一個表中,並且對應的欄位如果是char、varchar或者是nvarchar等類型時,並且對應的數據 ...
  • 在mysql裡面利用str_to_date()把字元串轉換為日期 此處以表T_TGS_ALARMED的BJSJ為例,查詢當前時間在此範圍之內的數據。 insert into T_TGS_ALARMED (XH, HPZL, HPHM, BJSJ, BJLX, BJYY, KKID, DDBH, FX ...
  • 環境是阿裡雲的CentOS7.0,更新了yum源(更新yum源請參考https://help.aliyun.com/knowledge_detail/5974184.html)之後先是嘗試安裝了MySQL5.7,但是折騰了一下午沒有解決初始密碼的問題。項目進度很緊,索性推倒重來上MySQL5.7。今 ...
  • 1、squid透明代理(一臺網站伺服器和squid代理伺服器) vim /etc/squid/squid.conf http_port 3128 transparent # 透明代理關鍵字 visible_hostname 主機名 #如果主機名是預設的,沒被修改則不需要,反之則需要添加 cache_ ...
  • 簡述: 今天來研究一下 Zabbix 的主動註冊功能。 當你有十臺機器需要監控時,你手動去添加是沒有問題的。但是當你有五十臺、上百台或更多伺服器要監控時,你會怎麼做 ? Active Agent Auto-Registration 主要用於 Agent 主動且自動向 Server 註冊。很好的解決了 ...
  • 簡介: 目前流行的版本控制軟體中,SVN ( 集中式版本控制 ) 算是使用範圍更廣、且使用時間更早的一款了,現在 git ( 分散式版本控制 ) 更火爆一點。 以前寫的 SVN 文檔丟失了,簡單整理一遍。 一、SVN 的安裝 ( CentOS ) 二、SVN 基本步驟 1、創建工作目錄、版本庫 2、 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...