全局配置
- 配置用户名称:
git config --global user.name "xiaocuo"
- 配置用户邮箱:
git config --global user.email "99835885@qq.com"
- 查看全局配置信息:
git config --list
- 注意: 每台电脑配置一次即可
初始化版本仓库
git init
- 将当前目录初始化为版本库
- 在当前目录中生产一个.git隐藏文件(别动.git任何东西!别动!!!)
- 在当前路径后面有一个 (master)
工作区
- 工作区持有实际文件
- 我们开发时操作的各种文件都在工作区
暂存区
- 临时存储工作区的变动
git add xxx
将xxx文件从工作区添加到暂存区(index)git add test.txt
将test.txt从工作区添加到暂存区git add .
将所有变动的内容从工作区添加到暂存区 git add -A / git add *
仓库区
- 项目的版本控制
git commit -m "提交的备注信息"
将暂存区的内容提交到仓库区(本地仓库)git commit -a -m "直接提交到仓库区"
将工作区的变动直接提交到仓库区
查看状态
git status
查看工作区和暂存区的状态- git有三种状态: 已提交(committed) 已修改(modified) 已暂存(staged)
- 红色提示: 工作区有变动还未提交到暂存区
- 绿色提示: 暂存区有变动还未提交到仓库区
提交日志
- 记录了提交的版本信息(版本号,作者,时间,提交说明等)
git log
查看完整的提交日志git reflog
查看简单的提交日志
版本回退
- 将工作区的代码回退到指定版本
git reset --hard 版本号
回退到指定版本git reset --hard HEAD^
回退到上一个版本
临时缓存数据
-
当前版本正在开发中,需要切换到其他版本或切换到其他分支时,此时需要临时缓存当前版本数据
-
git stash
临时缓存当前项目变动(没有备注信息) -
git stash save "备注信息"
临时缓存当前项目变动(有备注信息) -
git stash pop
删除缓存栈中最后一个缓存记录(恢复最后缓存的内容到当前版本) -
git stash pop n
将缓存列表中索引为n的缓存恢复到当前版本中并删除该缓存 -
git stash apply n
将缓存列表中索引为n的缓存恢复到当前版本中(不会删除缓存列表中的数据)
一些撤销操作
git checkout -- xxx
撤销工作区xxx文件的变动git reset HEAD xxx
撤销暂存区xxx文件的变动git checkout -f
撤销工作区和暂存区所有的变动git rm cached xxx
删除仓库区的xxx文件的版本记录(撤销到暂存区)
远程仓库
- 国外: github gitlab
- 国内: gitee coding
- 注册完成后去绑定邮箱地址(注意设置为公开邮箱地址)
- 创建一个远程仓库 h5-0609
git remote add 变量名 远程仓库地址
设置一个变量存储远程仓库地址(将远程仓库与本地仓库关联起来)git remote -v
查看 变量名 对应的远程仓库地址git push -u origin master
一个版本库第一次提交时使用,之后提交直接使用git push
- git push 将本地仓库代码提交到远程仓库
- -u origin master 设置origin默认主分支为master
git remote rm origin
删除origin变量对应的远程仓库地址
提交到远程仓库时,如果输入账号密码错误:
- windows系统会缓存Git连接的凭证
- 打开控制面板->用户账户->凭据管理器->windows凭据->普通凭证
- 找到刚刚添加的凭据,可以删除或修改凭据,建议直接编辑用户名和密码为正确的即可
拉取代码
git clone 远程仓库地址
从远程仓库克隆版本库到本地(本地没有该版本库时使用)git pull
从远程仓库更新到本地仓库(自动合并到当前分支)git fetch
从远程仓库更新到本地仓库(不会自动合并到当前分支)
分支操作
- branch分支: 基于当前版本的一个备份
git branch
查看当前版本库所有分支,当前分支前面有*号git branch 分支名
创建一个新的分支git checkout 分支名
切换分支git checkout -b 分支名
创建并切换分支git merge xxx分支
将xxx分支合并到当前分支git branch -d 分支名
删除某个分支git push origin 分支名
提交某个分支到远程仓库git pull origin 分支名
更新某个分支到本地仓库
忽略列表
- 忽略列表: 不添加到版本库中的文件/目录的一个列表
- 在项目根目录下创建: .gitignore
配置ssh公钥
- 进入个人中心-个人设置-ssh公钥-配置