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仓库都是一个完整的版本库,可以在不联网的情况下使用。
     
     
     
  • 相关阅读:
    【HDOJ】2774 Shuffle
    【POJ】2170 Lattice Animals
    【POJ】1084 Square Destroyer
    【POJ】3523 The Morning after Halloween
    【POJ】3134 Power Calculus
    【Latex】如何在Latex中插入伪代码 —— clrscode3e
    【HDOJ】4801 Pocket Cube 的几种解法和优化
    【HDOJ】4080 Stammering Aliens
    【HDOJ】1800 Flying to the Mars
    SQL语法
  • 原文地址:https://www.cnblogs.com/xhj123/p/9863644.html
Copyright © 2011-2022 走看看