Java工具面試題:版本控制工具

千鋒Python唐小強發表於2020-07-29

廢話不多說,直接上題!

Git和SVN有什麼區別?

  • Git是分散式的,而SVN不是分散式的
  • Git把內容按後設資料方式儲存,而SVN是按檔案
  • Git的內容的完整性要優於SVN
  • SVN只能有一個指定中央版本庫。而 Git可以有無限個版本庫。

SVN優缺點?

優點

  • 管理方便,邏輯明確,符合一般人思維習慣。
  • 易於管理,集中式伺服器更能保證安全性。
  • 程式碼一致性非常高。
  • 適合開發人數不多的專案開發。

缺點

  • 伺服器壓力太大,資料庫容量暴增。
  • 如果不能連線到伺服器上,就不能提交,還原,對比等等。
  • 不適合開源開發。但是一般集中式管理的有非常明確的許可權管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。
Java工具面試題:版本控制工具

Git優缺點?

優點

  • 適合分散式開發,強調個體。
  • 公共伺服器壓力和資料量都不會太大。
  • 速度快、靈活。
  • 任意兩個開發者之間可以很容易的解決衝突。
  • 離線工作。

缺點

  • 程式碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有程式碼和版本資訊。

說一下Git建立分支的步驟?

  • Git branch test 建立test的branch
  • Git checkout dev 切換到dev分支
  • Git pull 遠端分支拉到本地
  • Git checkout -b main 建立並切換到main分支
  • Git push origin main 推到遠端分支

說一下Git合併的兩種方法以及區別?

Git程式碼合併有兩種:Git Merge和 Git ReBase

Git Merge:這種合併方式是將兩個分支的歷史合併到一起,現在的分支不會被更改,它會比對雙方不同的檔案快取下來,生成一個commit,去push。

Git ReBase:這種合併方法通常被稱為“衍合”。他是提交修改歷史,比對雙方的commit,然後找出不同的去快取,然後去push,修改commit歷史。

Git如何檢視檔案的提交歷史和分支的提交歷史?

使用git log命令

什麼是 git stash?

用於臨時儲存和恢復修改,可跨分支。使用場景:寫著程式碼,寫著寫著,別人告訴我bug修好了,我就要去更新一下程式碼,如果更新衝突,應該把當前程式碼儲存起來,此時可以使用git stash命令。命令的本質幫我們做了兩件事:①把所有改動做了一個快照,然後儲存起來,並還原原來的檔案。②在需要的時候,可以把之前的修改恢復。

什麼是git stash drop

刪除儲存的儲存。

git config 的作用?

配置或讀取相應的環境變數。這些環境變數,主要儲存了 Git 在各個環節的具體工作方式和行為。位置:

  • 使用者主目錄的.gitconfig
  • 工作目錄的.git下面的.gitconfig
  • /etc/.gitconfig


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2707635/,如需轉載,請註明出處,否則將追究法律責任。

相關文章