git三区
工作区:写代码的地方 暂存区:临时存储 git add …的地方 本地库 :git commit 的地方 远程库:远程仓库
创建一个版本库 初始化仓库 git init
2.设置提交信息
代码语言:javascript复制git config --global user.nane name
git config --global user.email email
3.常用命令
- git status 查看当前目录状态
- git add file 将file添加到暂存区
- git commit -m "说明" 添加提交说明
- git push orgin 分支名 提交到远程仓库
- git pull https://..... 分支名 更新
- git clone https://...... 分支名 将服务器代码下载下来相对于 svn的checkout
- git log 打印完整格式提交日志
- git log --pretty=oneline 一行查看(展示完整hash值)
- git log --oneline hash只显示一部分 只显示过去的
- git log filename 查看文件变化备注
- git diff 版本号 版本号 文件名 比较不同版本文件
- git reflog hash展示一部分 添加commit 说明与HEAD指针(n) 显示所有
版本前进后退 基于索引[]
- git reset --hard 索引值 基于^符号:只能往后退出 n个^表示 退几步 使用
符号 git reset --hard HEADN n表示后退几步 只能后退
--soft 不碰暂存区、工作区 仅仅在本地库移动HEAD指针
--mixed 在本地库移动HEAD指针 重置暂存区
--hard 在本地库移动HEAD指针 重置暂存区 重置工作区
- git branch 查看分支
- git branch 分支名称 建立分支
- git checkout 分支名称 切换分支
- git merge 分支名 将当前分支与另一个分支合并
- git branch -d 分支名 删除本地分支
- git remote add 别名(origin ) 地址 为仓库地址取别名
- git remote -v 查看别名
- git remote remove 别名 删除别名
- git rm --cached filename 从暂存区恢复出来
- git commit -a -m "desc" : 将修改的文件直接提交到本地库 这种不能撤销
- git diff 默认工作区与暂存区进行比较
- git diff HEAD [filename] 和本地库进行比较 不带文件比较多个
- git fetch origin master 将远程下载下来
- git checkout origin/master 查看远程下载下来的此时没有合并
- git checkout master 切换回原来的分支
- git merge originm/master 远程aster合并本地
- git pull==git fetch git merge
公钥登录
生成公钥
ssh-keygen -t rsa -C "邮箱"
一直回车
这里我之前已经创建了一次
操作完成后,会在C:Users用户名.ssh下生成如下文件
rsa :私钥 pub:公钥 将公钥添加到你的远程服务器上即可 添加完成后,git使用ssh协议登录,这样每次更新或提交时就不用输入用户名密码了
忽略 .gitignore 用编辑器创建这个文件 该文件内容就是你要忽略的文件/目录 如
代码语言:javascript复制#下面是忽略的文件/文件名
.env
vendor/
storage/
#通配忽略
doc/2.txt
abc/*.txt
test/ *.tmp
提交时不会提交这里面的文件/目录