GIT學習筆記

2022-03-30 20:13:43 字數 3053 閱讀 4830

git是分布式版本控制系統。本質上是乙個內容定址檔案系統。

1、設定全域性資訊:

2、建立倉庫(版本庫)

版本庫=倉庫

在倉庫中的所有內同都會被git管理(修改、刪除、跟新);

所有管理都會被記錄下來;

可以隨時恢復到特定狀態;

3、新增檔案(檔案要使用utf-8編碼)

(其中:

主分支:on branch master

初始化倉庫提交:initial commit 

未標記的檔案:untracked files)

4、修改倉庫檔案

5、6、版本回退

7、撤銷修改

8、刪除檔案

生成ssh key :在windows下直接使用「git bash」工具建立;

需要生成rsa編碼的key:ssh-keygen -t rsa -c "[email protected]";

在user目錄下生成".ssh"目錄,裡面有id_rsa私鑰、id_rsa.pub公鑰;

github設定頁面:add ssh key;

找到id_rsa.pub檔案的內容複製,注意別增加無用的任何內容;

2、新增遠端倉庫:

把github與本地倉庫相關聯:git remote add origin 最好選擇ssh連線,ssh通訊利用剛才建立的ssh key更為安全,為git@git...鏈結);

將內容推送到github上(初次推送master分支使用「-u」引數將遠端master和本地master相關聯):git push -u origin master; 

3、轉殖倉庫

先從別人的遠端倉庫轉殖到本地;

在自己的github 上新建乙個倉庫,不選readme選項;

將自己轉殖到本地的倉庫連線到github上的空倉庫上,然後同步一下(push);

在實際開發中最好是所有開發者直接轉殖遠端倉庫進行操作。

4、轉殖其他開源專案

1、建立與合併分支

建立乙個分支:git branch brh;

檢視分支:git branch,其中*號所指為當前所在分支;

切換到brh分支:git checkout brh;

刪除分支:git branch -d brh,注意在刪除被brh是不能再要刪除的分支上,可以在其他分支上;

建立並切換到子分支:git checkout -b brh;

將brh分支合併到master分支上:git merge brh,合併方式有一種是"fast-forward"表示快速合併,它不會產生commit id,他只是利用了子分支的commit id繼續操作;

刪除遠端分支:git push origin --delete brh;

子分支上面的內容與中分支上面的內容沒有任何關係,子分支只相當於主分支的乙個copy檔案,只有合併分支了之後master分支上才會有子分支的內容。

master分支是發布版,它是最穩定的。

2、分支的管理操作

為分支brh重新命名為lh:git brach -m brh lh;

推送分支:git push origin lh;

檢視所有分支:git branch -a;檢視遠端分支:git branch -r;檢視本地分支:git branch -l;

刪除本地分支lh:git branch -d lh;

如果分支還未進行合併,想要強制刪除:git branch -d lh;

刪除遠端分支方法一:git push origin --delete brh;

刪除遠端分支方法二,推送乙個同名的空分支過去(注意前面有分號):git branch lh,git push origin :lh;

3、衝突自動解決

在實現多人開發的時候,當不同分支上的同一檔案被修改了之後,在提交合併的時候,就會出現衝突。**:git merge brh;

有時同一檔案的不同部分**被修改之後,git會自動合併**的不同片段,這個就是衝突的自動解決。

4、衝突的手動解決

git merge brh之後會有提示說:出現conflict;

檢視衝突的內容:git status;

檢視合併的情況:git log --graph --pretty=oneline;

5、分支管理策略

使用--no-ff進行合併,合併後建立乙個新的commit id:git merge --no-ff "no ff commit" brh;

檢視簡短日誌:git log --graph --pretty=oneline --abbrev-commit;

6、分支暫存

如果現在有緊急事件需要先切換到其他分支上去,而此分支上的**還沒有完成,這是就需要分支暫存。

先將此檔案儲存在暫存區之中:git add .;

將工作暫存:git stash,此時檢視git status的狀態是沒有任何修改;

在其他分支上工作直到其他分支上的分支工作完成,再回歸到之前的工作狀態,檢視暫存區列表:git stash list;

從暫存區恢復:方法一,先恢復,後手工刪除暫存:git stash spply,git stash drop;方法二,恢復的同時刪除stash內容:git stash pop;

git pull :此操作取出最新分支資料,並且發生merge合併操作;

git fetch:此操作只是取出最新的分值資料,但是不會發生merge合併操作;

1、git詳解之一 git起步

檢視遠端倉庫:git remote -v

從遠端倉庫獲取最新版本帶本地:git fetch origin master

比較本地倉庫和遠端倉庫區別:git log -p master.. origin master

檢視遠端倉庫:git remote -v

從遠端獲取最新版本到本地:git fetch origin master:tmps

比較本地倉庫和遠端倉庫的區別:git diff temp;

合併master和temp分支:git merge temp

刪除該temp分支:git branch -d temp;

Git學習筆記

git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...

git 學習筆記

1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...

Git 學習筆記

顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...