Git学习
Git
1.Git基础
1.1.版本管理
1.1.1.什么是版本管理
版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容
1.1.2.人为维护文档版本的问题
-
文档数量多且命名 不清晰导致文档版本混乱
-
每次编辑文档都要复制,不方便
-
多人编辑同一个文档,容易产生覆盖
1.2.Git是什么
Git是一个版本管理系统(缩写VCS),它可以在任何时间,将文档的状态作为更新记录保存起来,也可以任何时间点,将更新记录恢复过来
1.3.Git安装
官网:https://git-scm.com/downloads
安装完成:在cmd中输入git --version查看版本号
1.4.Git的工作流程
本地仓库---暂存区---git仓库
1.5.Git的使用
1.5.1.Git使用前的配置
在使用git之前,需要告诉git你是谁,在向git仓库中提交时需要用到
-
配置提交人姓名:git config --global user.name 提交人姓名
-
配置提交人的邮箱:git config --global user.email 提交人的邮箱
-
查看git配置信息:git config --list
注意:
-
如果要对配置信息进行修改,重复上述命令即可
-
配置信息只需要执行一次
1.5.2.Git提交步骤
-
找一个空的文件夹输入git init ,就会产生一个.git的文件夹;
注意:.git默认是一个隐藏文件
初始化完成,会显示:
$ git init
Initialized empty Git repository in D:/学习文件/自学者/Git/.git/
-
输入git status命令,查看git当前的状态,若有文件没有仓库所管理,则会显示
$ git status
On branch master
No commits yet
Untracked files: (use "git add <file>..." to include in what will be committed) Git.md Vue.md
nothing added to commit but untracked files present (use "git add" to track)
-
使用git add 文件名将文件推向暂存区,成功什么也不会提示
$ git add Vue.md
-
再次用git status查看状态,显示:
$ git status
On branch master
No commits yet
Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: Vue.md
-
使用git commit -m "提示信息",将暂存区中的文件推向远程仓库
$ git status
On branch master
No commits yet
Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: Vue.md
-
使用git log命令,查看提交记录
$ git status
On branch master
No commits yet
Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: Vue.md
1.5.3.Git撤销操作
-
如果对工作目录中的文件进行了修改,可以使用git checkout命令,对已经推到暂存区中的文件进行撤销,但是撤销之后,文件仍然存在于暂存区中,原理是用暂存区中的文件覆盖了工作目录中的文件
$ git checkout 1.txt
Updated 1 path from the index
-
将文件从暂存区中删除:
$ git rm --cached 1.txt rm '1.txt'
-
将ggit仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:git reset --hard commitId
2.Git进阶
2.1.分支
为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本
使用分支,可以让我们从开发主线上分离出来,以免影响开发主线
2.1.1.分支细分
-
主分支(master):第一次向git仓库中提交更新记录时自动产生的一个分支
-
开发分支(develop):作为开发的分支,基于master分支创建
-
功能分支(feature):作为开发具体功能的分支,基于开发分支创建
功能分支-->开发分支-->主分支
2.1.2.分支命令
-
git branch:查看分支
-
git branch 分支名称:创建分支
-
git checkout 分支名称:切换分支
-
git merge 待合并的的分支:合并分支
git branch -d 分支名称:删除分支(注意:分支只有被合并之后,才可以删除,若硬要删除,可以使用强制删除-D)
注意:分支与分支之间是互不影响的
2.2.暂时保存更改
在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作
使用场景:分支临时切换
-
存储临时改动:git stash
-