git学习
在学习git之前,我们首先要清楚git的工作原理.git为分工作区,暂存区,本地库,远程库,各个区是什么意思呢?
工作区:也就是我们写代码的区域
暂存区:git add 之后的地方
本地库:git commit 之后存储的地方
远程库:git push 推送到远程库
本地库初始化: git init
设置签名:
项目级别(仓库级别):本地库有效
git config user.name xxx
git config user.mail xxx@qq.com
系统用户级别:当前系统用户范围
git config --global user.name = xxx
git config --global user.mail = xxx@qq.com
提交暂存区:
git add <file>
删除暂存区:
git rm --cached <file>
查看工作区,暂存区状态:
git status
提交到本地库:
git commit -m '备注' <file>
显示提交历史日志:
git log //多页显示 空格下页,b上页q退出
git log --pretty=oneline
git reflog
版本之间的切换:
基于索引: git reset --hard <索引值>
使用^: git reset --hard HEAD^ //只能后退,一个^表示一步
使用~: git reset --hard HEAD~3 //表示后退3步
git reset --soft :仅在本地库移动HEAD指针
git reset --mixed:在本地库移动HEAD指针,重置暂存区
git reset --hard:在本地库移动HEAD指针,重置暂存区,重置工作区
文件比较:
工作区与暂存区:git diff <file> //不指定文件名,列出所有
暂存区与本地库:git diff HEAD <file>
分支操作:
查看分支:
git branch -v
创建分支:
git branch <name>
切换分支:
git checkout <name>
提交到分支:
合并分支:
1.切换到要合并的分支
2. git merge <name>
冲突解决:
1.选择合适代码
2.git add <file>
3.git commit -m <remark>
本地库推送到远程库:
git remote -v
git remote add origin <url> //添加远程库到本地
git push origin master //推送到远程
git clone <url> //克隆
拉取远程库:
git pull 相当于下面两个命令
git fetch -- git merge
ssh免密:
ssh-keygen -t rsa -C <e-mail>