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解压和压缩