zoukankan      html  css  js  c++  java
  • 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仓库都是一个完整的版本库,可以在不联网的情况下使用。
     
     
     
  • 相关阅读:
    Nginx支持WebSocket反向代理-学习小结
    CentOS6.9下升级默认的OpenSSH操作记录(升级到OpenSSH_7.6p1)
    CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)
    Docker容器内部端口映射到外部宿主机端口
    Linux下分布式系统以及CAP理论分析
    C/ C++ 快速上手
    YUV视频格式详解(翻译自微软文档)
    YUV详解
    阿里云ECS使用vnc远程连接(Ubuntu + CentOS)
    oh-my-zsh: 让终端飞
  • 原文地址:https://www.cnblogs.com/xhj123/p/9863644.html
Copyright © 2011-2022 走看看