三个工做区:工做区,使用git add ,将代码临时存储在暂存区;而后用git commit -m "comment"提交到本地库git
工做区(work directory)github
暂存区算法
版本库(本地)bash
远程库 ssh
本地库初始化:git init测试
本地库的签名:区别不一样的开发人员,这个是本地库的身份。fetch
git config user.name your_name加密
git config user.email your_email 对当前工做目录有效spa
加 --global 系统用户级别指针
三个工做区的转化
git add :将工做区的内容提交到暂存区
git commit -m 'comment ':暂存区的内容提交到本地库
查看本地库的提交历史:git log/reflog,其中空格向下翻页,b向上翻页,q推出。git log --pretty==oneline,一次提交一行显示;git log --oneline,只显示索引值的前7位,
查看工做区和暂存区的状态:git status
版本的回退
git reset --hard 局部索引值
git reset --hard HEAD^:一个^表示后退一步,n个表示后退n步
git reset --hard HEAD~n:表示后退n步
reset命令的三个参数对比
--soft参数:仅仅是在本地库移动HEAD指针
--mixed参数:在本地库移动HEAD指针,重置暂存区
--hard参数:在本地库移动HEAD指针,重置暂存区,重置工做区
比较文件差别
git diff [文件名]:将工做区的文件和暂存区进行比较
git diff [本地库中历史版本] [文件名]:将工做区的文件和本地库历史记录版本比较
建立分支:git branch 分支名
分支建立的其余方法
git switch -c branch_name
git switch branch_name
查看当前的分支
git branch -v :查看分支
git branch
*master (表示是当前的分支)
branch_name
切换分支:git checkout branch_name
融合分支:
第一步:切换到接受修改的分支(被合并,增长新内容)上,git checkout [被合并分支名]
第二步:git merge [有新内容分支名]
分支冲突解决
编辑文件,删除特殊符号
把文件修改到满意的程度,保存退出
git add 文件名
git commit -m "日志信息"
删除分支:git branch -d branch_name
哈希是一些列加密算法,数据加密等到一个加密结果,其长度固定;若是数据变化,其加密结果必定变化,通常变化很大。
git是将数据看作小型文件系统的一组快照,每次更新都会对当前的所有文件作一个快照并保存这个快照的索引。
建立远程库地址别名
git remote -v :查看当前全部远程地址别名
git remote add 别名 远程地址
git push 别名 分支名
git clone 远程地址:将远程库下载到本地,并初始化本地库。
pull等于fetch加merge
git fetch 远程库别名 远程分支名
git merge 远程库别名 远程分支名
git pull 远程库别名 远程分支名
进入当前用户的家目录:cd ~
删除.ssh目录:rm -rvf .ssh
运行命令生成.ssh密钥目录:ssh-keygen -t rsa -C email
进入.ssh目录查看文件列表
cd .ssh
ls -lf
查看id_rsa.pub文件内容:cat id_rsa.pub
复制id_rsa.pub文件内容,登陆github,点击头像-settings-ssh and gpg keys
new ssh key
输入复制的密钥信息
回到git bash 建立远程地址别名
git add 别名 远程库地址
推送文件进行测试