Java工具面試題:版本控制工具
廢話不多說,直接上題!
Git和SVN有什麼區別?
- Git是分散式的,而SVN不是分散式的
- Git把內容按後設資料方式儲存,而SVN是按檔案
- Git的內容的完整性要優於SVN
- SVN只能有一個指定中央版本庫。而 Git可以有無限個版本庫。
SVN優缺點?
優點:
- 管理方便,邏輯明確,符合一般人思維習慣。
- 易於管理,集中式伺服器更能保證安全性。
- 程式碼一致性非常高。
- 適合開發人數不多的專案開發。
缺點:
- 伺服器壓力太大,資料庫容量暴增。
- 如果不能連線到伺服器上,就不能提交,還原,對比等等。
- 不適合開源開發。但是一般集中式管理的有非常明確的許可權管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 版本控制工具
- 版本控制工具(svn)
- pl/sql 版本控制工具SQL
- Git 版本控制工具的使用Git
- 分散式的版本控制工具分散式
- Git分散式版本控制工具Git分散式
- 使用 Docker 部署版本控制工具 GogsDockerGo
- 版本控制工具——Git常用操作(下)Git
- 版本控制工具——Git常用操作(上)Git
- 版本控制工具SVN和CVS
- 分散式版本控制工具 Mercurial 使用分散式
- Git學習1 --- 版本控制工具詳細介紹Git
- 版本控制工具歷史的10個里程碑
- 微信小程式版本控制工具無法關閉的bug微信小程式
- Git – 版本控制工具十分鐘入門手冊Git
- 版本控制常見問題列表——版本控制心得(三) (轉)
- 程式控制流程面試題面試題
- 使用 GVM 工具管理 Go 版本Go
- 音訊控制工具:SoundSource for Mac音訊Mac
- SoundSource for mac(音訊控制工具)Mac音訊
- 工具提示控制元件(轉)控制元件
- java面試題Java面試題
- flutter版本管理工具fvm及GUI工具SidekickFlutterGUIIDE
- 【Java面試】Java常見IO面試題!Java面試題
- 【Java面試】Java設計模式面試題!Java設計模式面試題
- 阿里員工的Java問題排查工具單阿里Java
- JAVA面試題 java部分Java面試題
- 版本工具:truck tag branch區別
- RVM ruby版本管理工具
- java http 工具類JavaHTTP
- java Redis工具類JavaRedis
- Java 工具類庫Java
- 100道JAVA面試題+JAVA面試題參考答案Java面試題
- 【Java面試題】Java面試之多執行緒!Java面試題執行緒
- echarts 工具條點選事件控制Echarts事件
- Apache Ranger——Hadoop ACL控制工具ApacheRangerHadoop
- SoundSource 4 for Mac音訊控制工具Mac音訊
- 音訊控制工具:SoundSource 5 Mac音訊Mac