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仓库都是一个完整的版本库,可以在不联网的情况下使用。
 
 
 

Git基础考试题的更多相关文章

  1. [转] Git 基础 - 打标签

    2.6 Git 基础 - 打标签 打标签 同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签.人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做.本节我们一起来学习如何列 ...

  2. Git基础操作

    配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...

  3. git基础及分支

    关于版本控制 git是一种分布版本控制系统,每一主机都保存了完整副本.必杀技是分支. 在Windows可安装git客户端msysgit. git基础 第一次看progit觉得有点不懂,不懂版本控制,一 ...

  4. 《Pro Git》笔记2:Git基础操作

    第二章 Git基础 Git基础包括:版本库的创建和获取,文件添加修改提交等基本操作,状态查询,远程版本库管理和同步,打标签. 1.取得项目的Git版本库 基于Git的工作流要以Git版本库为基础,即可 ...

  5. Git详解之二 Git基础

    Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置: ...

  6. 2.4 Git 基础 - 撤消操作

    2.4 Git 基础 - 撤消操作 撤消操作 任何时候,你都有可能需要撤消刚才所做的某些操作.接下来,我们会介绍一些基本的撤消操作相关的命令.请注意,有些撤销操作是不可逆的,所以请务必谨慎小心,一旦失 ...

  7. ###Git 基础图解、分支图解、全面教程、常用命令###

    一.Git 基础图解 转自:http://www.cnblogs.com/yaozhongxiao/p/3811130.html Git 图解剖析 git中文件内容并没有真正存储在索引(.git/in ...

  8. 【git学习二】git基础之git管理本地项目

    1.背景        git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作. git运行本地项目管理包含对于相关文件的追踪,暂存区的比較分析,提交,撤销等功能. ...

  9. Git基础教程(二)

    继续上篇Git基础教程(一),在开篇之前,先回顾一下上篇中的基本命令. 配置命令:git config --global * 版本库初始化:git init 向版本库添加文件:git add * 提交 ...

随机推荐

  1. 软件工程_8th weeks

    第八周PSP 个人时间管理 由于本周主要在做论文实验,除了学习时间外有一些零散的时间也在思考代码的书写以及论文实验的流程,但是这些零散的时间并没有在总的表记录,所以想问一下老师,像这种平时零散思考的时 ...

  2. Linux文件权限属性后面有个点

    坑啊,新上的机器,监控怎么都不好使,各种报错说:没有权限 什么情况? 仔细查看,发现文件权限属性后面怎么多了个点,类似如下: 这是什么? 原来: 开启了SELinux功能的Linux系统就会有这个点. ...

  3. python之attrgetter函数对对象排序

    # 使用attrgetter函数对对象排序 # attrgetter处理对象,itemgetter处理序列 from operator import attrgetter class user(): ...

  4. [IOI2018]会议——分治+线段树

    题目链接: [IOI2018]meetings 题目大意:有$n$座山峰,每座山峰有一个高度,有$q$次询问,每次需要确定一个开会山峰使$[l,r]$所有山峰上的人都前往开会山峰,一个山峰的人去开会的 ...

  5. 【 HDU - 4456 】Crowd (二维树状数组、cdq分治)

    BUPT2017 wintertraining(15) #5A HDU 4456 题意 给你一个n行n列的格子,一开始每个格子值都是0.有M个操作,p=1为第一种操作,给格子(x,y)增加z.p=2为 ...

  6. 自学Linux Shell16.1-函数概念

    点击返回 自学Linux命令行与Shell脚本之路 16.1-函数概念 编写比较复杂的shell脚本时,完成具体任务的代码可能需要重复使用.bash shell提供满足这种要求的特性.函数是被赋予名称 ...

  7. 【BZOJ1818】[CQOI2010]内部白点(树状数组,扫描线)

    [BZOJ1818][CQOI2010]内部白点(树状数组,扫描线) 题面 BZOJ 题解 不难发现\(-1\)就是在搞笑的. 那么对于每一行,我们显然可以处理出来最左和最右的点,那么等价于我们在横着 ...

  8. sliding menu

    http://www.androiduipatterns.com/2012/06/emerging-ui-pattern-side-navigation.htmlhttps://github.com/ ...

  9. NinePatch图片

    绍 参考 :http://blog.sina.com.cn/s/blog_5033827f0100r4dm.html NinePatch图片以*.9.png结尾,和普通图片的区别是四周多了一个边框(如 ...

  10. UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题)

    UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There W ...