git常见面试题
1.fetch和merge和pull的區別
?pull相當于git fetch 和 git merge,即更新遠程倉庫的代碼到本地倉庫,然后將內容合并到當前分支。
?git fetch:相當于是從遠程獲取最新版本到本地,不會自動merge
?git merge : ?將內容合并到當前分支
?git pull:相當于是從遠程獲取最新版本并merge到本地
2.tag tag指向一次commit的id,通常用來給開發分支做一個標記 打標簽 :?git tag -a v1.01 -m "Relase version 1.01" 提交標簽到遠程倉庫 : ?git push origin --tags 查看標簽 :?git tag 查看某兩次tag之間的commit:git log --pretty=oneline tagA..tagB 查看某次tag之后的commit:?git log --pretty=oneline tagA..
3.Git和SVN的區別 Git是分布式版本控制系統,SVN是集中式版本控制系統
4.Git工作流程 1、在工作目錄中修改某些文件 2、對修改后的文件進行快照,然后保存到暫存區域 3、提交更新,將保存在暫存區域的文件快照永久轉儲到Git目錄中
5.常用命令 git show # 顯示某次提交的內容 git show $id git add <file> # 將工作文件修改提交到本地暫存區 git rm <file> # 從版本庫中刪除文件 git reset <file> # 從暫存區恢復到工作文件 git reset HEAD^ # 恢復最近一次提交過的狀態,即放棄上次提交后的所有本次修改 git diff <file> # 比較當前文件和暫存區文件差異 git diff git log -p <file> # 查看每次詳細修改內容的diff git branch -r # 查看遠程分支 git merge <branch> # 將branch分支合并到當前分支 git stash # 暫存 git stash pop #恢復最近一次的暫存 git pull # 抓取遠程倉庫所有分支更新并合并到本地 git push origin master # 將本地主分支推到遠程主分支
2.tag tag指向一次commit的id,通常用來給開發分支做一個標記 打標簽 :?git tag -a v1.01 -m "Relase version 1.01" 提交標簽到遠程倉庫 : ?git push origin --tags 查看標簽 :?git tag 查看某兩次tag之間的commit:git log --pretty=oneline tagA..tagB 查看某次tag之后的commit:?git log --pretty=oneline tagA..
3.Git和SVN的區別 Git是分布式版本控制系統,SVN是集中式版本控制系統
4.Git工作流程 1、在工作目錄中修改某些文件 2、對修改后的文件進行快照,然后保存到暫存區域 3、提交更新,將保存在暫存區域的文件快照永久轉儲到Git目錄中
5.常用命令 git show # 顯示某次提交的內容 git show $id git add <file> # 將工作文件修改提交到本地暫存區 git rm <file> # 從版本庫中刪除文件 git reset <file> # 從暫存區恢復到工作文件 git reset HEAD^ # 恢復最近一次提交過的狀態,即放棄上次提交后的所有本次修改 git diff <file> # 比較當前文件和暫存區文件差異 git diff git log -p <file> # 查看每次詳細修改內容的diff git branch -r # 查看遠程分支 git merge <branch> # 將branch分支合并到當前分支 git stash # 暫存 git stash pop #恢復最近一次的暫存 git pull # 抓取遠程倉庫所有分支更新并合并到本地 git push origin master # 將本地主分支推到遠程主分支
總結
- 上一篇: php常见面试题
- 下一篇: initrd.img解压和压缩