Git学习笔记
git安装
sudo apt-get install git
初始化本地库
git init
注意:./git 目录中存放的是本地库相关的子目录和文件
设置签名
git config [-global] user.name ceng
git config [-global] user.email 643164464@qq.com
作用:区分不同开发者的身份
信息保存在 .git/config 文件里
查看工作区和暂存区
git status
添加到暂存区
git add [文件名]
提交到本地库
git commit -m "注释" [文件名]
版本前进和后退
查看日志
git log --oneline
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSIquiss-1608826063700)(/home/ceng/.config/Typora/typora-user-images/image-20201222190617334.png)]
git reflog
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3xCIcmRW-1608826063703)(/home/ceng/.config/Typora/typora-user-images/image-20201222190647435.png)]
基于索引值前进回退版本
git reset --hard [索引值]
reset命令参数对比
- –soft:仅仅在本地库移动HEAD指针
- –mixed:
- 1.在本地库移动HEAD指针
- 2.重置暂存区
- –hard:
- 在本地库移动HEAD指针
- 重置暂存区
- 重置工作区
删除文件找回
前提:删除前,文件存在时的状态提交到了本地库
-
git reset --hard [之前版本索引]
- 删除操作已经提交到了本地库:指针位置指向历史记录
- 删除操作尚未提交到本地库:指针位置使用HEAD
比较文件差异
将工作区中的文件和暂存区进行比较
git diff [文件名]
将工作区中的文件和本地库历史记录比较
git diff [本地库中历史版本][文件名]
分支管理
创建分支
git branch [分支名]
查看分支
git branch -v
切换分支
git checkout [分支名]
合并分支
先切换到要增加内容的分支上
git merge [另一个分支名]
合并分支冲突解决
冲突:两个分支相同部分被修改了
- 第一步:编辑文件,删除特殊符号
- 第二步:把文件修改到满意的程度,保存退出
- 第三步:git add [文件名]
- 第四步:git commit -m ‘日志信息’ 注:不能带文件名
链接远程库
git remote add origin [github仓库地址] #origin为别名
查看连接的远程库地址
git remote -v
推送到远程库
git push origin master # 别名 + 分支名
克隆到本地
git clone [远程库地址]
SSH登录
进入当前用户家目录
cd ~
删除.ssh目录
rm -rvf .ssh
生成.ssh密钥
ssh-keygen -t rsa -C [ssh地址]
再把密钥粘帖到github里SSH