什么是 git
- 他是一个软件
- 他不是一个安装完毕能在桌面出现一个图标的软件(是一个基于操作系统的软件)
- 他是一个依靠命令行来操作的软件
- 他是一个专门用来管理你本地文件夹的软件
- 还有一个功能就是 把本地管理的文件夹上传到 github
- 第一个就是 github 的账号
- 第二个就是有 git 这个软件
- 第三个就是当前这个文件夹要被 git 管理着
- 中文名称: 版本管理器
- 版本 : x.y.z
- x: 大版本
- y: 主要功能的更新
- z: 日常的更新迭代
申请一个 github 账号
- 打开 github 网站
- 点击
sign up
- 填写用户名、邮箱、密码
- 选择 free
- create
- 会收到一个邮件,去邮箱中点击验证
安装 git
-
下载 git
- 来到 官网
- 点击
download
-
安装
- 找到 安装包,双击安装
- 安全选择
是
- 一路
next
最后INSTALL
-
检测安装成功
- 任意一个地方鼠标右键单击,只要有
git bash here
就行
- 任意一个地方鼠标右键单击,只要有
-
检测版本号
- 打开控制台
- cmd
- prowershell
- gitbashhere
- 输入指令
$ git --version
-
首次安装需要进行一次配置
-
查看配置项
# 打开命令行窗口 $ git config --list # 这个指令是查看当前配置列表的
-
配置用户名
# 打开命令行窗口 $ git config --global user.name "github用户名" # 或者可以选择电脑主机名称 # 这个指令是配置全局用户名
-
配置邮箱
# 打开命令行窗口 $ git config --global user.email "ssss@128.com" # 注册 github 的时候的邮箱 # 这个指令是配置全局邮箱的
-
配置密钥ssh
#先在本地配置,发送给远程 ssh-keygen -t rsa -C ssss@128.com 一直回车 # 打开命令行窗口 #发送给远程: giihub -settings -SSH and ... New SSH -title任意、key中输入刚才本地生成的ssh: #测试连通性 ssh -T git@github.com #(固定的命令) #如果本地与远程成功通信后,则可以在/.ssh 目录中 发下k'no'w.hosts文件 #如果失败:多尝试几次、检查回车符
-
git 管理你的文件夹
-
git 管理哪个文件夹就打开到哪个文件夹目录
-
让 giit 管理你的文件夹
# 使用 指令 的形式让 git 管理你的文件夹 $ git init # 这个指令是初始化当前文件夹,经过初始化的文件夹就被 git 管理了
git 的三层结构
- 工作区
working directory
- 暂存区
staging index
- 版本库
git idirectory(Repository)
git的四种状态
unstracked
未被追踪Modified
表示工作区修改了某个文件但是还没有添加到暂存区Staged
表示把工作区修改的文件添加到暂存区但是没有提交到版本库Commited
表示数据被安全的存储在本地库中
上传代码
-
你要选择那些文件上传
-
哪些不能上传(空文件夹)
-
选择上传的文件
# 选择上传单个文件 $ git add readme.md # 选择单个文件夹 $ git add demo/ # 选择文件夹中所有内容 $ git add .
-
会把你选择到的文件或者文件夹存储到暂存区
-
-
对本次上传所以个说明
# 依靠指令做一个说明 $ git commit -m "我本次只上传了一个 readme 文件" #将暂存区的文件提交到版本库 $ git commit -am 'decription' # 跳过git add添加到暂存区命令 ,直接把工作区所有已跟踪的文件提交
-
你要告诉你的 git 你上传到哪里
-
管理一下 github
-
来到 github 准备一个仓库,用来存储当前这个本地文件夹
# 关联一个仓库地址 $ git remote add origin https://github.com/guoxiang920322/heima65first.git # 这个指令是关联一个仓库地址的
-
-
上传代码到 github
-
依旧是使用指令上传
# 当前的本地文件夹第一次推送的时候 $ git push -u origin master # 当前的本地文件夹第二次及以后推送的时候 $ git push
-
commit 和 push 的区别
commit 时: commit and push 或者 commit按钮的区别 commit 按钮:不能单独Push 某一个文件,只能Push整个项目 commit and push:可以单独Push 某一个文件
-
-
第二次提交
-
第一步是选择文件
$ git add .
-
第二部是说明
$ git commit -m "说明"
git commit -m ":tada:first" // 初始化项目的时候有一个?的效果 git commit -m ":bug" // 提交bug指令 "vim index.html" //从命令行窗口打开文件
-
直接提交
-
下载代码
-
第一次下载代码
-
找到对应的远程仓库
-
选择一个位置来保存你下载的东西(下载下来的就是一个文件夹)
-
拉取代码
$ git clone https://github.com/guoxiang910223/heima65first.git # 这个指令是克隆仓库到本地
-
-
第二次下载代码
-
来到第一次克隆过的文件夹内部,打开 git bash
-
拉取代码
# 第二次及以后拉去代码使用 $ git pull
-
创建分支
创建新分支
git checkout -b filename
切换分支
git checkout filename
查看分支
git branch
查看状态
git status
查看状态
git status #查看项目文件状态
git log #查看历史提交状态
git log --oneline #查看已提交列表(成一行展示)
git的撤销操作
git add --amend # 撤销上一次提交,并将暂存区的文件重新提交
git checkout filename #取消工作区之前提交的操作
git checdout -- (可加文件名) #取消工作区之前提交的所有操作
git checkout -- filename #拉取暂存区的文件并将其替换工作区得文件 注意git checkout branchname 的区别
git reset HEAD filename #拉取最近一次提交的版本库中的这个文件到暂存区,该操作不影响工作区
文件删除
git rm filename
- 删除工作区及暂存区的该文件相当于删除文件后执行
git add
git rm -cached filename
在不小心将不需要追踪的文件添加到暂存区,想删除暂存区的文件但是不想删除工作区的文件有用git rm -f filename
把工作区或者暂存区的文件改了(防止把修改误删除了)glob
模式
git mv filename
mv oldname newname
git rm oldname
git add newname
git 分支
git master #主分支 只用于来浏览代码
git gh-pages #直接浏览页面
git branch #查看分支
git branch filename #创建新的分支
git checkout filename #切换分支
git branch -d filename # 删除分支(必须在不是要删除的分支下进行此操作)
git branch -m oldfilename newfilename#改变分支名
git checkout -b filename # 创建并切换到此分支
git 分支的合并
git merge //
git 多人团队协作开发
github 中改项目 -settings
增加合作者:Collaborators 加入合作者:github 全名或者邮箱
发送请求链接
合作伙伴 :打开该链接\接收邀请、clone项目、修改、add\commit\push