git第一天學習

2021-08-10 17:36:14 字數 2968 閱讀 9362

一.git了解

分布式版本控制系統

(1)之前用過svn版本控制系統,他們的區別是:

a.git是分布式的,svn不是

b.git把內容按原資料方式儲存,而svn是按檔案

c.git分支與svn的分支不同

d.git沒有乙個全域性的版本號,而svn有

e.git的內容完整性要優於svn

(2)集中式vs分布式

集中式版本控制系統,版本庫是集中存放在**伺服器的,幹活的時候用自己的電腦,每次先要去**伺服器取得最新的版本,然後幹活,完了再提交到**伺服器

特點:需要聯網才能工作

分布式版本控制系統:沒有**伺服器,每個人的電腦都是乙個完整的版本庫

特點:不需要聯網,安全

二.git安裝配置

2.配置:

(1)使用者資訊:使用者名稱和郵件

$ git config 

--global

user

.name

"runoob"

$ git config

--global

user

.email test@runoob

.com

如果用了global,那麼更改的配置檔案就是位於你使用者主目錄下的那個,以後所有專案都會預設使用這裡配置的使用者資訊

(2)檢視配置資訊

git config --list

三.建立版本庫

1.選擇合適的地方,建立乙個空目錄

2.git init把這個目錄變成可以管理的倉庫

四.工作區和暫存區

電腦裡能看到的目錄,叫做工作區

暫存區:git add把檔案新增到暫存區,git commit就是往master分支上提交更改.

五.常見命令

git status 檢視倉庫當前的我狀態

git diff 檢視差異

git add a.txt  將檔案新增到暫存區

git commit -m "描述"  提交

git reset --hard ^/commit id 回退

git log 檢視提交歷史

git reflog 檢視命令歷史

git checkout -- a.txt 可以丟棄工作區的修改或者恢復被刪除的檔案  / 其實使用版本庫里的版本替換工作區中的版本,無論工作區是修改還是刪除,都可以一鍵還原

git rm 用於刪除乙個檔案

六.遠端倉庫

1.建立ssh key 

ssh-keygen -t rsa -c "email"

2.登入github,新增ssh key,將id_rsa.pub複製到ssh key文字框裡面

先有本地庫,後有遠端庫

1.在github新增遠端庫 create a new repo

2.在本地的learngit倉庫下執行命令:

git remote add origin [email protected]:xueyafang/learngit.git

3.推送:第一次 git push -u origin master

以後:git push origin master推送最新修改

先建立遠端庫,再從遠端庫轉殖

git clone [email protected]:xueyafang/first.git

七.分支管理

(1).常用命令

檢視分支:git branch

建立分支:git branch

切換分支:git checkout

建立+切換分支:git checkout -b

合併某分支到當前分支:git merge

刪除分支:git branch -d

檢視分支合併圖:git log --graph

(2)無法自動合併分支時,必須人工解決衝突,解決衝突後再提交

(3)分支管理策略:master分支穩定,僅用來發布新版本,建立新分支dev幹活,小團隊在分支dev幹活,每個人在dev上都有自己的小分支,往dev上合併即可

合併分支時,加上--no-ff引數就可以用普通模式合併,合併的歷史有分支可以看出來,如果用fast forword合併就看不出來曾經做過合併

(4)bug分支:

git stash 可以將當前工作現場"儲藏"起來,等以後恢復現場後繼續工作

git stash pop修復後回到工作現場

(5)開發乙個新feature,可以通過git branch -d強行刪除

八.標籤管理

建立標籤:

git tag用於新建乙個標籤,預設為head,也可以指定乙個commit id

git tag -a-m "標籤資訊" 可以指定標籤資訊

git tag -s-m "pgp簽名" 可以用pgp簽名標籤

git tag 可以檢視所有標籤

建立的標籤都只儲存在本地,不會自動推送到遠端,所以打錯的標籤可以在本地刪除

git push origin推送某個標籤到遠端

git push origin --tags 一次性推送全部尚未推送到遠端的本地標籤

刪除遠端的標籤:

(1)刪除本地的

git tag -d

(2)刪除遠端的

git push origin:refs/tags/

九.怎麼參與開源專案的開發

用自己賬號fork這個 專案->推送修改->發起pull request

十.碼雲

與github差不多,命令中github改為了gitee

十一.自定義git

git config --global color.ui true

忽略某些檔案時,需要編寫.gitignore

.gitignore檔案本身要放到版本庫里,並且對.gitignore做版本管理

配置別名 git config --global alias st status

小知識:win7下怎麼圖形化介面建立隱藏檔案

將檔名改為.ssh.即可顯示檔案名為.ssh

學習git第一天

注 1.git是用c語言寫的 2.git是分布式版本控制系統 每個人的電腦上都有最全的版本庫,如果多人合作,只需將修改後的版本庫相互交換即可。3.版本控制系統只能跟蹤文字檔案的改動。文字編碼語言建議utf 8。4.windows下不建議使用預設記事本,可使用替代品如 notepad 安裝git,並在...

第一天git學習記錄

開始 程式 git git bash開啟git終端 設定使用者名稱和email git config global user.name your name git config global user.email email example.com 檢視當前的使用者名稱和email git conf...

學習第一天

知識是學會的,不是教會的 程式設計 驗證性或體驗性 創造性 學程式設計的4個階段 1.能看懂別人的 除錯別人的 2.能修改別人的 3.能拷貝別人的 做自己的事 4.能自己設計編寫 方法 多讀 做記錄 執行 修改 執行 練習,光說不練假把式 刷oj總結 寫部落格或許是個不錯的選擇 學生和已經工作的程式...