Hello Git 快速入门,三年经验 Java 开发面经总结
1、了解为什么要版本控制
2、了解版本控制系统的概念
3、了解 GIT 的特点
4、掌握 GIT 的工作流程(重点)
5、掌握 GIT 使用方法(重点)
6、掌握 IDEA 中配置 GIT
========================================================================
考虑两个问题:
1)小组分工合作开发项目时如何将代码整合到一起?
2)如果项目出现问题,如何回到正确版本上?
那么我们就需要一种工具能集中管理项目的代码,每个开发人员能够获得项目代码,并能够将代码提交到项目上;除此外能保存不同版本的代码,方便代码切换到特定的版本上。
======================================================================
版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。
CVS:老牌的版本控制工具,主要在开源软件管理中使用。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。(诞生时间相对较早,但逐渐被 SVN 代替)
SVN:是一个开放源代码的版本控制系统,相较于 CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。可以说是集中式版本控制的集大成功者。
GIT:目前最优秀的分布式版本控制工具,没有之一。它开始主要用于 Linux 内核的开发,因为 LInux 内核的开发者遍布全球,任何人都可能修改并改进它。随开源社区的发展,Git 也迅速的火热起来,已成为开源社区里使用人数最多的版本控制工具,并且开始渗透到企业中。
======================================================================
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, SVN 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
3.2.1 集中式
集中式 VCS 必须有一台电脑作为服务器,每台电脑都把代码提交到服务器上,再从服务器下载代码。如果网络出现问题或服务器宕机,系统就不能使用了。
3.2.2 分布式
分布式 VCS 没有中央服务器,每台电脑都可以保存代码版本,没有网络的时候可以先提交到本地,每台电脑也都可以作为服务器,其他电脑可以从作为服务器的电脑上克隆代码,可见分布式系统比集中式系统的安全性高很多。
========================================================================
1、git clone 克隆远程资源到本地目录,作为工作目录;
2、然后在本地的克隆目录上添加或修改文件;
3、如果远程修改了,需要同步远程的内容,直接 git pull 就可以更新本地的文件;
4、本地在修改之后,可以通过 git status 查看修改的文件。然后使用 git add 添加修改的文件暂到缓冲区;
5、在添加之后,可以使用 git commit 添加到当前的工作区;
6、在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;
7、git push 将本地的修改推送到远程的 git 服务器。
=======================================================================
在 Windows 上使用 Git,可以从 Git 官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。
安装完成后,在右键菜单里找到“Git”->“Git Bash”,出现类似命令行窗口的东西,就说明 Git 安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和 Email 地址。
在当前目录创建一个.git 的目录,并指定当前目录是 git 的仓库。
$ git init
5.3.1 添加文件
Git 有 3 个区域,一个是工作区,一个叫暂存区,一个叫仓库。
添加文件即将工作区的文件添加到暂存区。
添加指定文件
$ git add readme.txt
添加全部文件
$ git add .
添加全部文件
$ git add -A
5.3.2 提交文件
将暂存区的文件提交到仓库。
$ git commit -m '提交说明'
5.3.3 查看文件当前状态
$ git status
5.3.4 查看变化
$ git diff
5.4.1 查看提交记录
$ git log
5.4.2 版本回退
$ git reset --hard HEAD^
首先,Git 必须知道当前版本是哪个版本,在 Git 中,用HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上 100 个版本写 100 个^
比较容易数不过来,所以写成HEAD~100
。
5.4.3 查看每一次操作记录
git reflog
5.5.1 管理修改
文件第一次修改是需要添加到暂存区
第一次修改 -> git add -> 第二次修改 -> git commit
5.5.2 撤销修改
git checkout -- readme.txt
5.5.3 删除文件
从工作区删除文件
rm 1.txt
从暂存区中删除文件
git rm 1.txt
从版本库中删除文件
git commit -m "remove 1.txt"
5.6.1 添加远程仓库
采用 ssh 认证方式(需要 ssh 密钥认证):
$ git remote add origin git@gieee.com:layle707789/test.git
采用 http 协议方式(无需认证):
$ git remote add origin https://gitee.com/layle707789/test.git
5.6.2 从远程仓库克隆
$ git clone https://gitee.com/layle707789/git.git
5.6.3 从远程仓库同步最新代码
$ git pull
评论