珠峰的课堂笔记
使用git
git config --list
git config --global user.name xxxx
git config --global user.email xxxx@qq.com
离线操作
初始化git
- 初始化时 切记不要在桌面初始化 具体到某个文件夹内,不能git套git
mkdir git-demo //创建git-demo文件夹
cd git-demo //进入git-demo
git init //初始化
添加到暂存区
git add demo.txt //单个文件
git add . //所有文件
添加到历史区
git commit -m '消息'
查看版本信息
git log --grep / --author
git diff
git diff //比较工作区和暂存区
git diff --cached //比较暂存区和历史区的不同
git diff master //比较工作区和历史区的不同
用暂存区回滚工作区的内容
git checkout 文件名
回滚暂存区
git reset HEAD 文件名
回滚版本
git reset --hard 版本id
查看所有日志
git reflog
分支管理
- 默认没有分支,只有提交过才拥有分支
- 只要提交一次就有分支了
查看分支
git branch
创建分支
git branch 分支名
创建并切换
git checkout -b 分支名
切换分支
git checkout 分支名
删除分支
git branch -D 分支名
分支开发
- 在某个分支上进行开发时,直接切换分支是不被允许的。例如在dev分支开发时,直接切换到master分支,master分支中会有dev分支新增的文件,因为工作区,暂存区是共用的。想要切换分支,有以下两个方法。
方法一:将所有文件提交到历史区,然后切换分支,此时master分支和dev分支的文件不会相同。
方法二:git bash暂存起来,再切换。
暂存更改
- git stash
将当前的更改保留起来,用历史区将工作区和暂存区覆盖掉,此时没有修改就可以切换了
恢复暂存
git statsh pop
提交过的文件 可以连写提交
git commit -a -m 'result'
这个文件必须先提交过一次才可以
合并分支
git merge 分支名
git log --graph
如果有冲突修复冲突 在次提交
删除.git
rm -rf .git
创建目录
mkdir xxx
创建文件
touch index.txt
查看文件内容
cat 文件名
编辑内容
vi 文件名
i 进入命令模式
esc + :wq 保存并退出
提交到远程仓库
添加忽略文件,没有后缀
touch .gitignore
.gitignore是需要提交到github上的
常见的忽略内容
.DS_Store
node_modules
.idea
空文件夹不会被提交
- 一般会在空文件夹下 创建.gitkeep文件,保证空文件夹也可以提交
一般每个项目都会有README.md文件
添加远程仓库
git remote add 别名 地址 //添加远程仓库
git remote -v //查看远程仓库
git remote rm origin //删除远程仓库
抓取线上文件
- git pull 别名 分支名
强制覆盖掉线上文件
git push 别名 分支名 --force
发布静态页
- 发布到指定的分支上gh-pages
将要发布的静态页推送到此分支上即可
git checkout -b gh-pages
git add .
git commit -m 'static page'
git push origin gh-pages
fork
可以将别人的代码,变成自己的代码,别人代码更新不会导致自己的仓库代码更新,可以更改这个人的代码发送合并请求
克隆仓库
git clone 地址