git學習筆記

2021-09-24 19:42:56 字數 3663 閱讀 2053

1.安裝完git之後設定一下使用者名稱和密碼

$ git config --global user.name "

your name

"$ git config --global user.email "

[email protected]

"

2.把資料夾變成git倉庫

git init
3.新增檔案

git add hello.txt
4.推送檔案

git commit -m "

add a new file

"

5.檢視當前倉庫的狀態

git status
6.檢視修改內容

git diff
7.檢視版本資訊

git log
8.回退某個版本

git reset --hard commit_id
9.查不到以前版本的commi_id了怎麼辦?檢視命令歷史

git reflog
10.檢視工作區的檔案和版本庫裡面的暫存區內檔案的差別

git diff head --readme.txt
11.撤銷修改,這裡分為兩種情況,如果你已經add了,就撤銷到你add時候的狀態,如果你還木有add,那就撤回到你上次commit的狀態。下面**的本意就是撤銷到該檔案的上一步操作。

git checkout -- readme.txt   //

-- 前後一定要有空格哦

12.add檔案之後返回add之前的時候

git reset head readme.txt
13.刪除檔案分為兩種,rm和git rm

git rm test.txt  //

發現誤刪

git checkout -- test.txt //

利用checkout撤回到test.txt存在的時候

git rm test.txt      //

利用git rm刪除,版本庫裡面直接沒有了,不可撤銷

git commit -m "

rm test.txt

"

14.建立公鑰和金鑰

$ ssh-keygen -t rsa -c "

[email protected]

"

15.關聯遠端倉庫

git remote add origin [email protected]:youname/repo-name.git   //

我這裡使用的是github

16.推送本地倉庫到遠端倉庫

git push -u origin master  //

第一次的時候加 -u 是為了兩個倉庫之間建立聯絡,以後就不要-u了

git push origin master

//這是後面的,不要加-u了

17.從遠端倉庫上面轉殖乙個本地倉庫

git clone [email protected]:yourname/rep_name.git
18.分支

檢視分支:git branch

建立分支:git branch

切換分支:git checkout

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

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

刪除分支:git branch -d

19.解決分支衝突

我新建了乙個分支feature1,在readme.txt裡面新增了

hello and miss

然後切換回主分支,在readme.txt裡面新增了

hello & miss

現在我合併這兩個分支,是肯定會起衝突的,可以用git status 檢視衝突的檔案,也可以cat檔案看衝突的部分

手動修改之後就可以提交了

git log --graph 可以檢視分支合併圖

20.分支管理策略

合併分支的時候,加上 --no-ff 禁用快速合併可以commit一次合併歷史

git merge --no-ff -m "

merge with no-ff

" dev

如果你用的是fast forward模式就不會有合併歷史的分支,建議使用 --no-ff

21.儲存你現在的工作內容,這樣你就可以切換分支去改bug了

git stash
還原我們的工作內容

//

方法一恢復工作內容

git stash drop //

刪除stash儲存的東東

//方法二

git stash pop //

直接恢復內容並刪除stash裡面的東東

//檢視stash裡面存的神魔

git stash ist

//多次stash恢復的時候可以先list然後呢

22.強行刪除未合併的分支

git branch -d feature

23.多人協作

24.建立標籤

當前的commit打標籤

git tag v1.0
給某乙個commit版本打標籤

git tag v0.9 e6263...
檢視當前的tag的狀態

git tag
檢視某個標籤的詳細資訊

git show v0.9
建立帶說明的標籤

git tag -a v0.1 -m "

version 0.1 released

"3628164

用私鑰簽名乙個標籤

git tag -s v0.2 -m "

signed version 0.2 released

" fec145a //

這個是採用的pgp簽名,需要安裝gpg 沒有的話會報錯,怎麼安裝自己搜去吧

25.操作標籤

刪除本地標籤

git tag -d v0.1
推送標籤到遠端倉庫

git push origin v0.1

//推送乙個標籤

git push origin --tags //

推送全部的標籤

刪除遠端倉庫裡面的標籤

git tag -d v0.1

//先刪除本地的標籤

git push origin :refs/tags/v0.9

//刪除遠端倉庫上的標籤

26.配置別名

git config --global alias.st status   //

把status配置別名成st 注意那個小點點.......

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 版...