git入門記錄

2021-09-24 01:44:12 字數 2861 閱讀 3960

trace_c_p_k2=9da982b04d984438a03bf1a4a2e01898#/coursedetail?tab=1

下面是我學習時的記錄,如有錯誤請多多指正

暫存區在.git/index檔案下

ll : 檢視工作區里的東西

git ls-files -s :暫存區裡面有哪些東西

git ls-tree +分支名: 檢視commit裡面有哪些東西

git cat-file -p +:檔名 :檢視暫存區下該檔案的內容

git cat-file -p +檔案雜湊值 :檢視暫存區下該檔案下的內容

git cat-file -p +分支名:檔名 :檢視該分支下該檔案的內容

commit 指向乙個tree,tree指向多個blob

tree是目錄,blob是檔案

git儲存資料的方式:

git log:檢視當前分支以前有哪些提交

git log --oneline :簡單檢視當前分支以前有哪些提交

git log --oneline --decorate:簡單檢視當前分支以前有哪些提交和分支

git log --oneline --decorate --graph:用圖形化的方式顯示,方便檢視結構

git log –oneline –all:檢視所有的提交

git config alias.logg 「log --oneline --all --decorate --graph」:設定預設引數,以後輸入git log 就相當於加了這些引數

git commit 不允許空的提交,如果要新增空的提交需要新增引數–allow-empty:

git commit --allow-empty -m 『***』

git branch:檢視本地有哪些分支

git branch -a:檢視本地和遠端分支,其中remote 表示遠端分支,origin表示位址(git clone 後面那串東西)

git branch -vv:檢視跟蹤分支

git branch +名字:新建分支

git branch +名字 +父分支名:在某分支下建立新的分支

git branch –set-upstream debug origin/debug : 把debug分支跟蹤到 origin/debug分支上

git checkout +名字:切換分支(做了三件事情,把commit的內容放入工作區和暫存區,更新head的指向)

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

cat .git/head:檢視現在工作在哪個分支

git checkout . :把暫存區的所有內容覆蓋工作區

git checkout --file +檔名:把暫存區的某些檔案覆蓋工作區

git checkout head . :把head指向的分支的所有檔案複製到暫存區和工作區

git checkout head --file +檔名:把head指向的分支的部分檔案複製到暫存區和工作區

git merge 分支名a:把a分支合併到當前分支

git mergetool :當有衝突的時候使用這個工具解決衝突,但在使用之前要先配置使用哪個工具,詳細看課時14

merge的時候會生成*.orig的檔案,這是乙個備份防止merge錯了就找不到原來的,當你merge完的時候可以把這個檔案刪掉

merge完要commit

git rebase --onto newbase start branch :計算branch和start的差值,然後應用到 newbase上(若在遠端分支上不建議用),這個操作效果上和git merge類似,但是git的圖的形狀不一樣。預設如果省略–onto newbase,那麼預設 newbase等於 start,如果省略 branch,預設為head

加上-i引數為互動式的rebase

編寫.gitignore檔案可以讓git不管理某些檔案

git fetch :從遠端分支上同步**,如果要移動到最新的commit要用git merge,git pull就等於git fetch + git merge

git reset --soft 雜湊值(commit的雜湊值) :更新本地倉庫中分支指向

git reset --mixed 雜湊值 :更新本地倉庫中分支指向,且更新暫存區.

git reset --hard 雜湊值 :更新本地倉庫中分支指向,且更新暫存區和工作區

git reset 雜湊值 :預設是mixed選項

git reset 雜湊值 – [.|filename] :用該commit重置暫存區

當commit說明寫錯的時候可以這麼做:

git reset --soft master^: master^表示master的父節點

然後再重新commit

也可以直接使用 git commit –amend -m 』***』直接進行修改

看到了乙個部落格說寫錯了–hard的情況下怎麼恢復

git cherry-pick 雜湊值:把commit的修改應用到當前分支中

git revert 雜湊值:撤銷這個commit

Git入門學習記錄

git教程來自 廖雪峰的git教程。這裡說兩句趣談,當然也是從教程裡看到的,真的沒想到git的誕生是因為 開發samba的andrew試圖破解bitkeeper的協議 這麼幹的其實也不只他乙個 被bitmover公司發現了 監控工作做得不錯!於是bitmover公司怒了,要收回linux社群的免費使...

git 學習記錄

1 配置git使用預設的編輯器,比如當commit 時忘記提交log資訊,git將呼叫此編輯器讓你輸入.配置方法 git config global core.editor emacs 其中emacs可以替換成你喜歡的任意編輯器 2 git rm 刪除版本庫中的檔案記錄 從index中刪除 包括工作...

Git 使用記錄

1 從遠端倉庫獲取更新 1 git fetch 獲取更新不會自動合併 git fetch origin master git pull origin master獲取更新 git log p master.origin master 對比本地和遠端的主分支 git merge origin mast...