git知識和github知識來源于網路,本人進行測驗與總結后自己截圖發布,
Git是目前世界上最先進的分布式版本控制系統,和svn,vss等一樣都是進行版本控制的,
GitHub是一個軟體專案的托管平臺,相當于自己建立的 svn服務器,vss服務器,GitHub平臺可以建立私人倉庫和公開倉庫,私人倉庫需要收費,公開倉庫不收費,但大家都可以免費下載(不可以更改)
接下來就講解一下如何使用Git與GitHub
(1) 申請GitHub
打開網址:https://github.com/,點擊signup,注冊一個github賬號
(2)下載并安裝git
打開網址:https://git-scm.com/downloads

點擊windows,選擇適合自己的版本,進行安裝,

(3)在某個磁盤下新建一個檔案夾作為本地倉庫

點擊右鍵 “git bash here”
配置自己的名稱:
$ git config --global user.name 'test'
$ git config --global user.email '[email protected]'
查詢是否配置成功
$ git config --global user.name
$ git config --global user.email

(3)在GitHub創建倉庫
打開網址https://github.com/,并進行登錄
點擊your repositories,點擊new,填寫倉庫資訊,點擊create repository



(4)本地倉庫和GitHub對接
首先創建密鑰,上傳到github,進行以后的身份驗證
執行命令:$ ssh-keygen -t rsa -C *****@qq.com
這里的郵箱,必須是github賬號的郵箱,根據提示進行輸入
找到密鑰存盤位置,打開公鑰,復制里面的內容
在github網站把此內容復制到相應視窗:
個人中心->setting->ssh and gpgkeys->new ssh key->add ssh key







(5)github倉庫clone到本地
執行一下命令:
$ git clone [email protected]:fengyuzhexing/test.git【自己的git地址】
輸入密碼
可以看到專案已經clone到本地了






(6)提交到本地倉庫
在此目錄下新建一個檔案 test.txt,輸入內容:testbegin,
把檔案提交到本地倉庫
首先運行pwd命令,看當前所在目錄
切換目錄到需要提交的檔案目錄
運行命令:
$ git add 'test.txt'
$ git commit -m 'testfirst'
$ git log【查看提交記錄】

(7)提交到遠程倉庫
$ git push origin master
可以看到github網站已經有新建的檔案了

(8)創建分支
分支概念圖

通常情況下,github會有一個默認的主分支 master,這個分支一般都是存放最終發布版本的代碼,一般情況下會建立一個新的分支 例如 dev,在這個分支上進行開發維護,最后在發布之前,合并到master分支,
每一個分支,都是一個獨立的版本,擁有自己版本時間線,在不同分支下的操作是相互獨立的,
接下來可以參看一下一個例子
- 新建分支 dev,并切換到分支
$ git checkout -b dev
$ git branch
可以看到已經切換到了dev這個分支,此時dev分支的內容和master是一樣,相當于是從當前master進行了一份copy

- 在dev下進行提交
當前在dev下的任何提交不會影響mater分支,只是在dev分支上進行處理
編輯test.txt 檔案

運行一下命令,提交
$ git add 'test.txt'
$ git commit -m 'dev'
$ git log

- 切換到master,進行查看
$ git switch master
$ git branch
可以看到已經切換到了master

再打開檔案看內容是什么,可以看到這個檔案的內容沒有變化,還是master分支的資料,

- 合并dev到master
$ git merge dev

再次查看 master下的test.txt,可以看到dev資料被合并過來了

洗掉dev分支
$ git branch -d dev
4 解決沖突
沖突出現的原因:
每個人在本地都有一套自己的原始碼庫,在開發程序中
A 同學 修改了本地的 test.txt,
B 同學 也修改了本地的 text.txt
這時候 A同學 把本地代碼 push到 服務器倉庫,B同學再想push到服務器倉庫,就會出現問題,因為B同學不可以覆寫A同學的更改,所以這時候 B同學就要把代碼pull下來就行代碼合并,解決完沖突再上傳到服務器倉庫,
因為之前的改動都是在本地,所以首先將本地的代碼先提交到github,運行以下命令
$ git push origin master

打開github網站,可以看到本地資料和git服務器資料已經同步


- 模擬A同學修改本地代碼
打開github后臺,在線修改test.txt,然后提交


輸入以下內容:

輸入 commit 備注,點擊commit changes

此時A同學已經把代碼進行了更改,并且提交到服務器
- 模擬B同學修改代碼
在本地倉庫打開test.txt,輸入以下內容:masterB-localchange

在命令列輸入 提交命令
$ git add 'test.txt'
$ git commit -m 'b-local'

$ git push origin master
在提交到服務器倉庫命令時,出現例外

- 沖突解決
首先把服務代碼拉取下來
$ git pull

找到沖突檔案,可以看到這里已經合并了檔案,但有問題,需要自己手動編輯

編輯后檔案

再次運行以下命令重新上傳
$ git add 'test.txt'
$ git commit -m 'hebing'
$ git push origin master
上傳成功了

再次打開github網站查看內容,已經同步過去了

(5)版本回退
回退版本命令:$ git reset --hard 【待回退的comitid】
有時候可能提交失敗了,必須要回退回某一個版本可以運行以下命令:
$ git log

可以回退到dev當時的版本,運行以下命令
$ git reset --hard 57554

可以看到資料已經回退回去了

再運行 git
$git reset --hard 8cf6c
可以看到版本又回來了

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/2454.html
標籤:其他
上一篇:領導一個技術開發團隊
