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