什么是git:
- git是一个版本控制的工具,用于git是一个版本控制的工具,用于管理我们的项目的修改历史,方便我们查看更改历史,并且可以回到原来的版本
git的工作原理
- Git本地有三个工作区域:工作目录(Working Directory),暂存区(Stage/Index),资源库(Repository或Git Directory)。如果再加上远程的git仓库(Remote Directory)就可以分为四个工作区域
-
-
- Working Directory(工作目录)----->Stage/index(暂存区)----->Repository(资源库)----->git仓库(Remote Direcoty)
-
-
-
-
- Workspace:工作区,就是平时存放项目代码的地方
- Index/Stage:暂存区,用于临时存放你的改动,事实上它是一个文件,保存即将提交的列表信息
- local Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本
- Remote Repository:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
-
-
配置git
-
-
-
- 创建一个文件夹,并打开
- 右键打开(Git Bash):Unix与Linux风格命令行,使用命令行操作
-
-
-
-
-
- git config -l
-
-
-
-
-
-
- 查看git的配置信息
-
-
-
-
-
-
- 配置用户名和邮箱(就是让你的git与gitee仓库进行绑定,之后就是上传项目是都使用这个账号)
-
-
-
-
-
-
- git config --global user.name "你的gitee上的用户名"
- git config --global user.email 你的绑定gitee上的邮箱 //这个不需要引号
- --global :这个为全局配置,意 : 你不同的项目使用的都是这个用户名和邮箱
-
-
-
git文件操作
- 要对文件进行修改,提交等操作,首先要知道文件当前什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上
-
-
-
- Untracked:未跟踪,此文件在文件夹中,但并没有加入到git仓库,不参与版本控制.通过git add 状态变为Staged.
-
-
-
-
-
- Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹完全一致.这种类型的文件有两种去处,如果它被修改,而变为Modified.如果使用git rm 移出版本库,则成为Untracked文件.
-
-
-
-
-
- Modified:文件已修改,仅仅是修改,并没有进行其他的操作.这个文件也有两个去处,通过git add可进入暂存staged状态,使用git checkout,则丢弃修改过,返回unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改!
-
-
-
-
-
- Staged:暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态.执行git reset HEAD filename取消暂存,文件状态为Modified
-
-
将文件提交到本地仓库上
- 自己创建一个仓库git init(这个创建的为本地仓库,默认隐藏起来的,要查看自己去设置)
- 自己创建一个文件或文件夹(有.git文件夹的地方就是我们的工作区)(不管你是创建了文件还是已经提交了本地仓库文件,只要你修改了都会重新到工作区)
- 将文件或文件夹提交到缓存区中git add . (这个点是将所有文件都提交到缓存区,单个文件提交到还存区的命令为 git add 文件夹名/文件名)
- 在提交到缓存仓库中
-
-
-
- git commit -m "文件描述"
-
-
- 重点
1. git add (工作区 ----> 暂存区)
2. git commit (暂存区 -----> 本地仓库)
这样提交到本地仓库就完成了
命令
- clear (清屏)
- git add 单个文件 | .(将所有文件添加到暂存区)
- git commit -m '文件描述'(将暂存区的文件添加到本地仓库)
- git status(查看你的文件状态)
- git log(查看提交的历史)
- git reflog(查看所有的操作记录)
- git reset --hard 唯一标识的id (版本回退)
- git remote -v (查看远程仓库的配置)
- git remote set-url origin 远程仓库url (修改远程仓库的URL)
分支
- git branch (查看本地的分支)
- git branch 分支名(创建本地分支)
- git checkout 分支名 (切换分支)
- git checkout -b 分支名 (创建分支并且切换到这个分支)
- git merge 分支名称 (合并分支,先切换到mestar分支上在合并)
- git branch -d 分支名 (删除分支,需要做各种检查)
- git branch -D 分支名 (不做任何检查,强制删除分支)
- 分支冲突怎么办:
-
- 直接到所在的分支进行修改,在提交
将本地仓库推送到gitee上(远程仓库)
- git remote add origin 远程仓库地址(ssh/https) //本地仓库与远程仓库进行绑定
- git pull origin 仓库分支 //将远程仓库pull到本地文件夹
- git add .(通配符所有文件)/(文件名) //将文件保存到缓存区
- git commit -m '文件描述' //添加文件描述
- git push origin 仓库分支 //将本地仓库推送到远程仓库
获取远程仓库
git clone 远程仓库地址(ssh/https)