天天看点

Git学习笔记前言总结笔记

文章目录

  • 前言
  • 总结笔记
    • 1.git 仓库初始化
    • 2.git 提交分支
    • 3.git 查看状态
    • 4.git 查看日志
    • 5.git 重置,版本回退
    • 6.git 删除文件,找回本地文件
    • 7.git 比对文件差异
    • 8.git 分支操作
    • 9.git 创建远程库
    • 10.git 推送本地库到远程库
    • 11.git ssh免密登录
    • 12.git 报错处理

前言

自己学习完之后做的一些记录,今天分享出来,希望能帮到有需要的人!

新手上路:

  1. git是什么
  2. git学习视频
  3. 这个也不错

总结笔记

这个是我自己总结的笔记,遇到忘记的方便随时来查看,顺便分享给大家,有什么问题欢迎大家评论,一起学习!

1.git 仓库初始化

git init //初始化git仓库
git config --global user.name <username> // 设置全局用户名和邮箱 
git config --global user.email <useremail>
           

2.git 提交分支

git add <filname> //将文件提交到暂存区
git commit -m "<projectTip>" <filename> // 将提交的文件添加注释并提交到本地库
           

3.git 查看状态

4.git 查看日志

git log //查看日志文件,检查版本号以及提交作者等消息
//显示冒号之后有日志状态提示符:下一页-空格;上一页-b;到尾页-显示END;退出log-q
//多种日志展示方式:
git log //普通方式;
git log --online //一行展示,简略索引号
git reflog //多了一个数字版本指针,表示当前版本回到该版本的步数
           

5.git 重置,版本回退

git reset --hard <git log 中查看到的索引号> //将工程版本回退到指定的索引号的版本之中
//中间参数不同的应用
--hard //工作区,暂存区,本地库一起移动
--mixde // 工作区不动,暂存区和本地库移动
--soft //本地库动,其他两个都不动
           

6.git 删除文件,找回本地文件

rm <filename> //删除工作区的文件
git add <filename> //同步到暂存区
git commit -m "<项目注释>" <filename> //同步到本地库
git reflog //查看版本索引
git reset --hard <索引> //恢复到有文件版本,可以直接用HEAD参数切换到当前版本(也就是仓库文件还没删除,但暂存区和工作区删了,也可以恢复出来)
           

7.git 比对文件差异

git diff <filename>  //对比工作区和暂存区文件内容,不添加文件名为所有文件 
git diff HEAD <filename>   //对比当前指针本地库和暂存区文件差异
           

8.git 分支操作

//并行开发,不同功能之间不干扰
git branch -v //查看分支
git branch <branch name>  //创建新分支
git branch checkout <branch name> //切换到制定分支
git checkout <主分支> | git merge <branch name> // 两步操作,进入主分支之后将分支内容添加到主分支,形成新的主分支
// 多个分支修改同一个文件的同一个位置(同一行),会出现合并冲突
---> 解决办法:人为决定留下的文件内容,重新commit文件  ps:不可以带文件名
git commit -m "<项目注释>"
           

9.git 创建远程库

git remote  -v  //查看远程库别名
git remote add <仓库别名> <远程仓库路径>  //为远程仓库增加一个别名
           

10.git 推送本地库到远程库

git push <远程库别名> <要推送的本地仓库>  // 如果没有会创建新分支
可以再中间加上参数:
git push -u origin master //把本地仓库的文件推送到远程仓库
           

11.git ssh免密登录

cd ~  //进入当前系统用户目录
ssh-keygen -t rsa -C <github账户邮箱>  // 创建ssh秘钥文件,将其生成到用户名下.ssh文件夹下
// 复制生成的秘钥绑定到github账号ssh秘钥
           

12.git 报错处理

《1》warning: LF will be replaced by CRLF in.......
这种错误的原因是存在符号转义问题,在windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行git add . 或git deploy语句的时候可能就会出现这个错误,执行:
$ git config core.autocrlf
查看当前配置项状态:此命令会有三个输出,“true”,“false”或者“input”
->为true时,Git会将你add的所有文件视为文本问价你,将结尾的CRLF转换为LF,而checkout时会再将文件的LF格式转为CRLF格式。
->为false时,line endings不做任何改变,文本文件保持其原来的样子。
->为input时,add时Git会把CRLF转换为LF,而check时仍旧为LF,所以Windows操作系统不建议设置此值。
解决方法:执行
git config --global core.autocrlf false 
将全局配置项改为 false ,所有文件原模原样上传,不做修改
《2》error: failed to push some refs to 
解决办法1:
在push之前先pull
git pull origin master // 把本地仓库的变化连接到远程仓库主分支
解决办法2:
加上参数 -f 强行push:
git push -f origin master