git學習筆記

2021-08-19 20:53:59 字數 866 閱讀 6538

參照廖雪峰的git教程,並且在實驗樓學習了git實戰教程,這裡簡單記錄下我自己理解的git與svn的差異。

有一次**衝突了,我沒有在本地提交,而是直接pull遠端庫的**,導致本地檔案全亂了,然後自己又憑著臆想點了幾個git選單,導致本地庫的狀態以及我修改的檔案全部混亂了。後來只好撤銷本地所有的修改,重新pull**。慶幸的是,我在提交前對我自己的**做了備份。

由於我以前基本用的都是svn,所以在我接觸到git的時候,就用svn的操作思維來使用git,完全沒有本地庫和遠端庫的概念,感覺不到commit和push的區別,更不知道git分為head、index、working directory三個區域。下面簡單總結下git 和 svn 的不同。

git是分布式,svn是集中式

提交操作的差異

svn:直接提交到倉儲伺服器,對於已經在版本控制中的檔案,就只有 commit 一步操作

git:由於它有三個區域(參照 工作區和暫存區),使用中它會出現多種狀態。簡單來說分三步:修改新增到index → commit提交到本地 → push到遠端庫。

合併操作的差異

svn:update更新 → 編輯衝突檔案並標記為已解決 → commit提交到伺服器

git:commit到本地 → pull拉取遠端版本 → 編輯衝突檔案 → commit到本地 → push到遠端庫

總之,操作git時,可以理解為,所有的版本控制都在本地完成,pull和push只是為了和遠端庫一致,所以在pull和push時,最好保證本地所有更改已經提交。

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