GIT學習筆記

2021-09-13 02:23:53 字數 4048 閱讀 8381

筆記整理自廖雪峰老師git教程

1、 建立版本庫

`git init`
2、 把檔案新增到倉庫(從工作區到暫存區)

`git add readme.txt`

`git add .`

3、 把檔案提交到倉庫(從暫存區到當前分支)

`git commit -m 'commit'`
4、 新增乙個遠端庫:生成5、 要檢視遠端庫的資訊,用git remote,或者,用git remote -v顯示更詳細的資訊

6、 關聯已有的本地倉庫

`git remote add origin ***.git`  (origin是遠端庫的名字)
7、 把本地庫的所有內容推送到遠端庫上,把當前分支master推送到遠端

第一次推送master分支,加上-u引數,把本地的master分支和遠端的master分支關聯起來

`git push -u origin master`

把本地的修改提交到遠端的master分支

`git push origin master`

如果我們只有乙個master分支,就可以直接:

`git push`

8、 要轉殖乙個倉庫,首先必須知道倉庫的位址,然後使用git clone命令轉殖

`git clone `
熟練使用以上步驟就可以愉快的使用git了,但是想要更進一步,還需要往下看:工作區就是你本地的專案資料夾,版本庫是工作區里的.git檔案。

git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head

我們使用git提交可以看為三步:

第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;

第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支;

第三步是用git push把本地分支中的修改提交到遠端庫

9、head指向的版本就是當前版本, git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id

10、穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本, 用git log --graph命令可以看到分支合併圖

11、要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本

12、git status檢視版本庫狀態

13、用git diff head -- readme.txt命令可以檢視工作區和版本庫裡面最新版本的區別

14、git checkout -- file可以丟棄工作區的修改(用版本庫里的版本替換工作區的版本)

15、用命令git reset head可以把暫存區的修改撤銷掉,重新放回工作區

16、命令git rm用於刪除乙個檔案

17、檢視分支:git branch

18、建立分支:git branch

19、切換分支:git checkout

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

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

22、刪除分支:git branch -d

23、如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d強行刪除

29、本地新建的分支如果不推送到遠端,對其他人就是不可見的,

30、從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠端的新提交

31、在本地建立和遠端分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠端分支的名稱最好一致

32、建立本地分支和遠端分支的關聯,使用git branch --set-upstream branch-name origin/branch-name

33、從遠端抓取分支,使用git pull,如果有衝突,要先處理衝突

34、git rebase操作可以把本地未push的分叉提交歷史整理成直線;

35、git rebase的目的是使得我們在檢視歷史提交的變化時更容易,因為分叉的提交需要三方對比

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

37、命令git tag -a -m "blablabla..."可以指定標籤資訊

38、命令git tag可以檢視所有標籤,標籤不是按時間順序列出,而是按字母排序的

39、可以用git show檢視標籤資訊,可以看到說明文字

40、命令git push origin可以推送乙個本地標籤;

41、命令git push origin --tags可以推送全部未推送過的本地標籤;

42、命令git tag -d可以刪除乙個本地標籤;

43、命令git push origin :refs/tags/可以刪除乙個遠端標籤。

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

45、.gitignore檔案本身要放到版本庫里,並且可以對.gitignore做版本管理!

46、被忽略的檔案,可以用-f強制新增到git

47、可以用git check-ignore命令檢查.gitignore哪個規則寫錯了

48、配置別名:git config --global alias.st status,--global引數是全域性引數,也就是這些命令在這台電腦的所有git倉庫下都有用

git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)%creset' --abbrev-commit"

49、每個倉庫的git配置檔案都放在.git/config檔案中,可以手動修改配置,別名就在[alias]後面,要刪除別名,直接把對應的行刪掉即可,而當前使用者的git配置檔案放在使用者主目錄下的乙個隱藏檔案.gitconfig中

遠端拉取版本庫

git clone 

cd ***

建立新版本庫

git init

git remote add origin

提交更新

git add .    //git rm ***

git commit -m "initial commit"

git push //-u origin master

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