Git基礎考試題


Git:
1.在windows上搭建git環境,成功后查看版本號
Linux安裝
sudo apt-get install git -y
yum install git -y
windows直接安裝exe
查看版本號:git version
 
2.git與svn的區別
(1)git是分布式的,svn是集中式的
(2)git把內容按元數據的方式存儲,svn是按文件存儲,git的內容完整性優於svn
(3)git和svn分支不同
(4)git沒有一個全局的版本號,而svn有
(5)git不需要聯網就可以使用,svn需要聯網
 
3.在現有版本,完成一次版本提交的過程
git status
git add .
git diff
git commit -m "提交信息"
git push [remote-name]
 
4.還原剛剛提交的內容
(1)git log 查詢剛才提交的commit id
(2)git reset --hard commitId
或 git checkout commitId
 
5.查看提交記錄並截圖
git log
 
6.一個大的需求從開發到上線,代碼執行的過程
(1)需求開發階段,創建主分支master/開發分支dev/和一些具體的功能分支,進行開發
(2)需求開發完合並代碼階段,將具體功能分支上的代碼合並到開發分支dev上
(3)需求測試階段,從dev分支上拿代碼進行測試
(4)需求正式投產階段,從dev分支上拉出一個release分支,用來發布生產代碼,投產完成后,合並到master分支和dev分支上
(5)需求投產后bugfix階段,需要從master分支上拉出bugfix分支,用於修改bug,修改后合並到master分支和dev分支上
 
7.簡述git分支
git會把我們每一次提交的內容連成一條時間線,這條線就是一個分支,一個倉庫被初始化后,git會默認生成一個主分支,叫做master分支;
git分支意味着可以從主線上分離開來,在不影響主線的同時繼續工作;
git的分支模型是輕量級的,可以很快地切換分支,可以頻繁使用分支與合並
 
8.以下命令的含義
初次運行前的配置 git config --global user.name xuhaojin
git config --global user.email 1579582159@qq.com
在工作目錄中初始化新倉庫 git init
在現有項目中克隆 git clone
檢查當前文件狀態 git status
跟蹤新文件修改 git add 忽略某些文件 .gitignore
git diff(
$ git diff                             working tree和stage文件的差異
$ git diff --cached              stage和commit文件的差異
$ git diff HEAD                   commit和working tree文件的差異
$ git diff test                       不是對比當前分支,而是對比test分支
$ git diff HEAD -- ./test      對比其中的test文件
$ git diff HEAD^ HEAD      對比最近兩次提交之間的差異
$ git diff topic master        對比topic和master分支的差異
提交更新 git commit -m "更新說明"
跳過使用暫存區域 git commit -a
移除文件 git rm <文件或目錄>
移動文件 git mv<文件或目錄>
查看歷史記錄 git log
修改最后一次提交 git commit --amend
取消已經暫存的文件 git reset HEAD <file>
取消對文件的修改 git checkout -- <file>
查看當前遠程倉庫 git remote
添加遠程倉庫 git remote add
從遠程倉庫抓取數據 git fetch [remote-name]
推送到遠程倉庫 git push [remote-name]
查看遠程倉庫信息 git remote show [remote-name]
查看當前所有分支和當前所在的分支 git branch
創建分支 git branch <branch-name>
創建並切換分支 git branch -b <branch-name>
工作區切換到分支 git checkout <branch-name>
將一個分支合並到當前分支 git rebase <分支> 和 git merge <分支>
git暫存工作區修改 git stash 
git恢復暫存內容到工作區 git stash pop
從一個分支已經commit的內容合並到當前分支 git cherry-pick <commit-id>
刪除未被追蹤/未提交的文件 git clean
拉取(包含fetch的功能)git pull <remote-branch-name>
基於遠程分支創建新的本地分支 git checkout -b <new-branch-name> origin/<name>
 
9.有一個緊急問題需要處理,git處理問題的流程
(1)返回到原先已經發布到生產服務器上的分支
(2)為這次緊急修補建立一個新分支,並在其中修復問題
(3)通過測試后,回到生產服務器所在的分支,將修補分支合並起來,然后再推送到生產服務器上。
(4)切換到之前實現新需求的分支,繼續工作
 
10.在本地建立一個工程,寫一個.java文件,並上傳至版本庫
(1)git init新建一個git版本庫
(2)在git倉庫目錄下新建java項目,並寫一個java類
(3)git add . 添加項目到暫存區
(4)git commit -m "提交信息" 將項目提交到版本庫
(5)git remote origin add "遠程倉庫地址" 添加一個遠程倉庫
(6)git push -u origin master,將本地內容推送到遠程倉庫的master分支上
 
11.git文件的三種狀態
已提交(commit)/已修改(modified)/已暫存(staged)
 
12.基本的git工作流程(工作目錄/暫存區/git倉庫之間的日常操作)
(1)工作目錄修改內容,生成快照保存到緩存區(stage files,1->2)
(2)提交更新,將暫存區的快照永久保存到git倉庫中(commit,2->3)
(3)從git倉庫檢出內容或修改到工作目錄(checkout,3->1)
 
 
13.分布式版本控制系統優點
安全性高,每個git倉庫都是一個完整的版本庫,可以在不聯網的情況下使用。
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM