git學習筆記(二)

1.分支

我們在剛開始編輯的時候都會在標頭上有一個master,這個到底是什麼呢?

master 主分支 也是git 默認給創建的分支,我們一般讓master保存軟件的最新版本。

當我們進行多個人進行開發的時候,都是通過分支來開發的,比如今天新來了一個開發人員,都會給他創建一個分支,開發他自己的模塊,開發過後進行和主分支的合併。如果任務完成,他可以繼續去做別的或者到別的開發小組,我們只需要把分支刪除就行了。

創建一個新的分支

git checkout -b "dev_wang"          -b 表示 breach

git branch  可以查看當前所有的分支情況,並且可以看到目前所處的分支  *號

切換到主分支  git checkout master 

HEAD 的一個補充 指向的是當前分支的最新版本

不同的分支在進行開發後沒有與主分支進行合併的話,看到的版本會和主分支不一樣。

刪除分支 git branch -d dev_Wang  刪除一個分支 必須在其他分支

如果內容沒有被合併,我們也不能刪除分支,只能強制刪除git branch -D dev_Wang

2.合併

當然了,我們創建了分支,任務完成是需要和主分支進行合併的,這樣次分支的版本才能同步到主分支上,使用的命令是

git  marge  dev_Wang 這樣就可以快速的將分支的內容合併到主分支

如果我們只有一個人開發,不會出現什麼問題,但如果是多人開發呢?比如我的文件所有人都是從主分支上clone上的,所以內容一致,但是一段時間以後,小王先合併了自己的內容,過會,小李想要合併自己的任務內容,但是小王寫的東西又沒給小李看,所以小李沒有他的內容,這就導致小李合併自己的內容的時候,在主分支上有一段他並沒有的內容,我們把這種情況叫做衝突,有了衝突我們當然要解決,我知道的一種解決辦法就是在主分支上將內容進行提交,git status,git add .  git commit -m "衝突解決"

3.config

git config -l 就是查看所有的配置信息,git config 有三種配置的級別

倉庫級別 .git 文件夾>> config 文件下  git --local -l

全局級別 當前用戶之下 config文件夾   全局級別 git --global -l

系統級別  git 安裝目錄下的etc git config --system -l

git config --global(在哪個配置級別下) --unset (刪除某個選項)  user.name

git config --global --add user.name gao  在全局的配置下添加一個配置

有的時候,有的字段太長,比如 git status,我們就可以使用別名,和linux差不多

配置別名

    git config --global alias.st status  表示爲status配置一個別名是st 這樣我們就可以用 git st 了,是不是很方便。

4.打標籤

大家還記得在第一篇git 學習筆記裏面我們用的 git reset --hard commitid 嗎?這是個控制版本的東西,但是,每次我們在查找commitid 的時候就很費時間,是一大長串的數字,雖然git 支持一部分就可以,但是還是有點麻煩,所以我們就可以爲我們的版本打標籤,v1.0 v2.0  ,這樣在版本切換的時候我們也會很方便,上菜

添加一個標籤

    git tag v1.0 給當前的最新版本上一個版本
    git tag v1.0 commitid   給之前的版本設置一個標籤

刪除標籤
    git tag -d v1.0  刪除標籤

快速變換
git reset --hard v1.0  可以快速的變換版本
5.本地倉庫和遠程倉庫

我們不可能讓每個人都在一個電腦上進行開發 我們能不能把我們的master 分支放在一個公共的電腦上拿到一個代碼

master 是遠程倉庫 保留的是一個最新的版本

每個分支就是一個本地倉庫  開發完之後放到遠程倉庫

局域網 一臺遠程倉庫

現在有很多的更好的管理開源代碼、比如github 國外的遠程倉庫  碼雲  國內的遠程倉庫,但是這些公用的代碼如果不交錢是要公開的
也可以搭建一個自己的私有倉庫 gitlab,具體怎麼搭建可以去查查資料,挺簡單的。

以github 爲例,我們先要搭建一個倉庫,具體操作方法可以百度一下

操作遠程倉庫

將本地的倉庫上傳到遠程倉庫,接下來將本地的內容推送到遠程的倉庫上
(1)要讓兩者有關聯

給本地倉庫增加一個遠程倉庫 git remote add origin  遠程倉庫的地址(ssh 地址)
origin 把本地倉庫和遠程倉庫進行關連

推送是需要一個安全的,我們需要生成一個ssh key ssh -keygen -t rsa -C "[email protected]"

會在用戶下生成一個.ssh文件,打開id_rsa,將裏面的內容複製一下

設置sshkey,在github 官網的自己的設置裏面有ssh key 的設置,添加一個,把複製的內容添加上去,就好了

推送操作

關聯號後我們可以把master 這個分支推送上去  

git push -u origin master 就可以了 

如果是在其他的分支上,我們就可以先git checkout master 

git merge dev_li

git push -u origin master

或者 git push -u origin dev_li

克隆操作

前提是ssh key 添加完成,不然沒有權限去clone

git clone ssh地址

克隆後修改了以後 我們要添加 就不需要進行 -u  git push orgin master

當遠程倉庫的版本如果和本地倉庫的內容不一致,先要把遠程倉庫的內容拉下來的最新版本才行 git pull 然後手動解決衝突
最後再進行git push origin master

本篇博客爲本人的學習筆記,如有疑問請以官網爲依據,歡迎私信。

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