什么是Git
git是一种版本同步工具;实际项目开发中,涉及到多人的团队性质的协同开发;
Git的三种状态
现在请注意,如果你希望后面的学习更顺利,请记住下面这些关于 Git 的概念。 Git 有三种状态,你的文件可能 处于其中之一: 已提交(committed)、已修改(modified) 和 已暂存(staged)。
• 已修改表示修改了文件,但还没保存到数据库中。
• 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
• 已提交表示数据已经安全地保存在本地数据库中。
这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。
名词解析
工作目录: .git
目录所在的目录称为工作目录,这个目录中所有的目录及文件都可能会托管到git仓库中存放。工作目录默认位于本地磁盘文件系统。(我们的代码都是写在的工作目录中的,通过git,可以将我们写的代码托管到git仓库中保存。)
暂存区: 当对工作目录中的文件做了修改,删除,添加等一系列操作后,通过git add
指令,将此时工作区所作的变更添加到暂存区。通过指令git status
检查工作目录和暂存区之间的差异。
仓库: 保存历史提交的版本信息。check out project
操作时,能够将仓库中的不同版本还原到工作目录
三种状态工作原理
初始化仓库
创建一个工作目录,进入工作目录,右键git GUI here
,在此目录下代码可视化git GUI。
通过命令操作git
进入仓库目录,空白处右键->git bash here就能够呼出git shell
推荐使用命令的方式操作git
#配置git用户信息
$ git config --global user.name "用户名"
$ git config --global user.email [email protected]
$ git config --list #查看git配置
$ git init #将当前目录作为工作区,生成.git目录;.git目录为git仓库的目录
$ git add file1 file2 #同时将多个文件添加到暂存区,已空格分隔
$ git add ./ #将当前目录下所有变动的文件添加到暂存区
$ git status #使用频率很高的一个命令,用于查看当前暂存区的使用情况
$ git commit -m '提交信息' # 将暂存区中的内容提交到本地仓库
$ git clone url #根据url地址的仓库,克隆到本地
$ git log #查看所有的历史提交信息
$ git log -p -2 #完整的显示两条提交的完整信息,包含提交内容对比
$ git remote add origin url # 添加远程仓库
$ git remote #查看远程仓库名称
$ git remote -v #查看远程仓库的url路径
$ git push -u origin master #将本地仓库状态推送到origin仓库的master分支
-
初始化空白的仓库
cd ~/DeskTop/working direcotry # 进入工作目录
git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/working directory/.git/
-
配置用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --list --show-origin # 查看当前的配置信息
-
对比当前工作目录与仓库的状态
git status
On branch master # 当前分支:master
No commits yet
Untracked files: # 列出所有没有被追踪的文件(工作目录与仓库状态不一致的文件)
(use "git add <file>..." to include in what will be committed) # 建议使用的命令
a.txt # 列出发生变化的文件
nothing added to commit but untracked files present (use "git add" to track)
-
追踪文件,将变更添加到暂存区
git add 文件名1 文件名2 文件名n # 追踪具体的文件
git add . # 追踪所有有变动的文件
-
提交暂存区,将变更持久化到git仓库
git commit # 在内置的vim中编辑提交日志
git commit -m "提交日志"
远程仓库
-
新建空白仓库
-
在本地仓库中添加远程仓库
git remote add origin https://gitee.com/cqhxzy_nick/hxzy_dt.git
-
查看远程仓库的名称以及url地址
git remote -v
origin https://gitee.com/cqhxzy_nick/hxzy_dt.git (fetch)
origin https://gitee.com/cqhxzy_nick/hxzy_dt.git (push)
-
将本地仓库的代码推送到远程仓库
git push -u origin master
-
将远程仓库的变更同步到本地仓库
git pull
git log # 能够看到本次同步到底更新了什么
分支
利用多分支进行协同开发,主分支master
通常保留稳定的代码,其他分支用于开发或者调试。
-
创建分支
git branch dev #创建dev分支
-
查看所有的分支信息
git branch -v
-
切换分支
git checkout dev #切换到dev分支
在dev分支下进行的开发,并不会影响主分支master,通过merge合并之后,就能够将dev下的变动合并到master
git checkout master #切换到主分支
git merge dev #当前在master分支,合并dev,将dev分支中的内容合并到当前的master分支
-
将dev分支的内容推送到远程仓库
git push origin dev
-
删除指定分支
git branch -d|D hotfix #D意思为:hotfix中如果有没有合并的内容,也会强制删除标签:git,仓库,dev,Git,master,目录,分支 From: https://www.cnblogs.com/huang2979127746/p/16656349.html