git版本控制介紹與使用(含github)

1 版本控制介紹

1.1 定義

版本控制是對軟件開發過程當中的各種程序代碼,配置文件,說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。

1.2 原由

編寫一個成熟可用的程序是一個工作很大的工程,不是我們或一次性可用搞定工作,所以在開發過程當中,有以下特點:

多人協作:UI、前端、後端、數據庫、運維

1.3 版本迭代

針對當前代碼進行修改和升級,通過幾次迭代,達到預想的目的

1.4 版本控制工具

1.4.1 分類

CVS 是一個c/s結構的版本控制軟件,主要用於開源的軟件管理,是多個開發人員通過一個版本控制中心繫統來記錄文件版本,從而達到保證文件同步的目的,是一種很古老的集中式版本控制工具。

SVN 也是集中式版本控制工具,他是最優秀的集中式版本控制工具。

GIT 是一個分佈式的版本控制工具

1.4.2 區別

(1)集中式版本管理工具

缺點:代碼集中於SVN服務器上,一旦發生問題,很難挽回

優點:代碼集中於SVN服務器上,不會發生個別新手污染代碼的情況

 

(2)分佈式版本控制

1.4.2 版本控制常用名詞

拉取 pull 從服務端下載代碼

提交 push commit 提交代碼

合併 將兩份代碼進行結合

衝突 兩個開發版本對同一個文件有不同的修改,這時合併會有 衝突

描述 所有提交的版本都必須有詳細的版本描述,內容比如:

時間:提交人:提交的功能

回溯 進行版本內容的回滾。

1.5 git的發源

git的作者是linux之父linus torvalds。

 

 

 

在起初,linux開源項目的代碼是有linus本人通過linux命令diff和patch兩條命令手動完成,後來項目越來越大,代碼庫讓linus疲於奔命。Bitkeeper公司的東家BTMover出於人道主義(bitkeeper是一款收費的版  本控制工具),授權linux社區免費使用,但是Linux社區的大佬有一些江湖習氣,開始破解bitkeeper,samba的作者andrew破解成功了,但是被BTMOver公司發現,收回免費使用權,要求linus道歉。linus閉關一週,寫出了git,在一個月,git成功接管了Linux社區的版本控制工作,並且開始開源。

1.6 git的原理

Git分爲本地庫和遠程庫。

我們提交代碼的步驟

2 Git基本操作

2.1 安裝

(1)通過官網下載git的安裝包,git官網地址: https://git-scm.com/

 

 

 

 

 

(3)下載完成得到exe文件,雙擊運行安裝

 

(4)安裝完成之後,在windows下的任意目錄右鍵可以看到git的命令行

2.2 基本使用

(1)git bash執行linux的命令

(2)git 需要把當前的目錄轉換爲git目錄

git init 初始化一個git目錄

(3)創建git項目提交身份

  1. 配置局部身份

git config user.name laobian 設置提交名

git config user.email [email protected] 設置提交郵箱

cat .git/config 查看局部提交身份

  1. 配置全局身份

git config --global user.name laobian 設置全局提交名

git config --global user.email [email protected] 設置全局提交郵箱

cat ~/.gitconfig 查看全局提交身份

  1. 就近原則:有局部用局部,沒有局部用全局,二者不可以都沒有

(4)查看當前版本的狀態

git status

未提交狀態

(5)將文件提交到緩衝區並查看沒有提交到本地庫的狀態

(6)提交文件到本地庫

git commit 1.txt

 

(7)git commit -m “描述” 文件 提交指定文件(和步驟6任選一種提交)

git commit -m “描述” 提交當前緩衝庫當中的所有文件

提交完成的狀態

(8)查看詳細版本信息

(9)列表性展示版本信息

 

 

3 指針(HEAD)和分支(branch)

3.1 概念介紹

指針:用來指向某個版本的記錄

分支:一個獨立的開發路線。

3.2 建立和使用分支

(1)創建分支

項目創建之初就有一個分支(branch) master,但是我們還可以創建新的分支

git branch 分支名稱 創建分支

(2)查看分支

git branch -v

 

(3)切換分支

git checkout 分支名稱

(4)合併分支

git merge 待合併分支名稱

(5)合併衝突

衝突的文件裏面展示的衝突的內容

 

解決完衝突內容進行一次提交,當次提交不指定具體提交的文件名稱

 

3.3 解決衝突的步驟

解決衝突的步驟

進行合併

進入衝突文件,進行手動的代碼調整

進行add將衝突文件添加到緩衝區

進行commit提交,注意不要指定具體提交的文件名稱

衝突解決完成

4 Github的使用

4.1 官網

https://github.com/

4.2 註冊流程

 

 

4.3 使用

(1)搜索git項目

(2)以壓縮的形式下載

(3)克隆項目

(4)創建版本倉庫,也就是項目的遠程庫

(5)上傳

首先關聯本地庫

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(6)測試和github的通信

4.4 協作

4.4.1我們要加入大牛的項目fork模式

(1)找到項目,進行fork

 

(3)獲取項目完整的源碼

git clone自己賬號的項目

(4)修改源碼

(5)申請提交源碼

 

 

(6)等待大牛允許分支

4.4.2 我們要合作開發一個項目

(1)進入設置

(2)點擊collaborators(合作者)

(3)點擊右下角add collaborators

(4)將生成的連接複製

 

(5)用另一個賬號打開當前的連接,點擊接受

4.4.3 團隊模式

(1)進入設置的organizations

 

 

(2)創建團隊

(3)邀請成員

 

4.5 和pycharm與git的通常用法

Ctrl+k  等於命令行add+commit命令

Ctrl+shift+k 等於命令行的push命令

 

5 拓展GITLIB的搭建

5.1 簡介

gitlib 自己的git管理工具。

5.2 Centos7 搭建gitlib服務器

(1)安裝依賴包和wget

yum install -y curl policycoreutils-pythonopenssh-server

Yum install -y wget

(2)準備工作ssh、防火牆、Postfix服務處於開啓狀態

(3)下載gitlib的安裝包

Wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

(4)安裝:

(5)修改配置文件

(6)重新加載配置文件 gitlab-ctl reconfigure

 

(7)重啓服務 gitlab-ctl restart

(8)關閉防火牆

(8)訪問剛纔綁定的ip和端口,默認端口 80

6 fetch步驟

提供資源git

https://github.com/bianjhpython

獲取資源git

https://github.com/PythonBian

 

首先pythonbian通過地址找到bianjhpython 進行fork

Python邊選擇fork  bianjhpython的項目

Pythonbian有了bianschool項目

克隆自己的git上的fork的庫,而不是源git的庫

這個時候源發起了更新

查看分支

查看別名

當前origin映射自己的git庫

創建一個新的分支,用來合併源git的master分支

創建一個新的別名,用來執行源庫

在master使用new_name別名fetch源庫的master到本地new

6、將本地new分支上獲取的內容merge到master上

將修改的master提交到自己的git fork的庫上,用來保持一致

 

Git push 別名 分支

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章