git 笔记
Git命令行操作
1、本地库初始化
命令 git add
效果:
-rw-r--r-- 1 hoiny 197609 130 3月 30 22:38 config
-rw-r--r-- 1 hoiny 197609 73 3月 30 22:38 description
-rw-r--r-- 1 hoiny 197609 23 3月 30 22:38 HEAD
drwxr-xr-x 1 hoiny 197609 0 3月 30 22:38 hooks/
drwxr-xr-x 1 hoiny 197609 0 3月 30 22:38 info/
drwxr-xr-x 1 hoiny 197609 0 3月 30 22:38 objects/
drwxr-xr-x 1 hoiny 197609 0 3月 30 22:38 refs/
注意:git目录中存放的是本地库相关的子目录和文件 不要删除 不要修改
2、设置签名
形式
用户名:tom
Email地址:****@163.com
作用:区分不同开发人员身份
辨析:这里设置的签名和登录远程库(代码托管中心)的账号和密码没有关系
命令:
1、项目级别/仓库级别 仅在当前本地库范围内有效
git Config user.name tom
git Config user.emailtom
2、系统用户级别 :登录i当前操作系统用户范围\
git config --global usern.name tom
git config --global usern.email tom
3、优先级 就近原则 项目级别优先于用户级别,二者都有时采用项目级别的签名 如果只有系统级别的签名 就以用户级 别签名为准 二者都没有不允许。
3、基本操作
状态查看 git status
添加操作 git add [file name] 提交到暂存区
提交操作 git commit -m 'commit message' [file name] 添加到本地库
查看历史记录 git log 多屏显示控制方式 空格 向下 B 向上
git log --pretty=oneline 简介版本 git log oneline
git reglog
版本前进后退操作
1、基于索引值操作(推荐)
git reset --hard 【hash值】
2、使用^ 一个^退一个版本 只能退版本
git reset --hard HEAD^
3、使用~符号 只能后退 3 表示后退的次数
git reset --hard HEAD~3
reset命令的三个参数对比
soft 参数 仅仅在本地库移动head指针
mixed参数 在本地库移动head指针 重置暂存区
hard参数 在本地库移动head指针 重置暂存区 重置工作区
删除文件并找回
前提 删除前 文件存在时的状态提交到本地库
操作 git reset --hard[指针位置]
删除操作已经提交到了本地库 指针位置指向历史记录
删除操作尚未提交到本地库 指针位置使用HEAD
比较文件差异
git diff 文件名
将工作其中的文件和暂存区进行比较
git diff [本地库中历史版本 文件名
分支管理 :在版本控制中进行多个分支处理
分支好处
同时并行推进多个功能开发 提高开发效率
各个分支在开发过程中 如果某一个分支失败不会影响其他分支
创建分支 git branch[分支名
查看分支 git branch -v
切换分支 git checkout [分支名
合并分支 第一步 需要切换到接受修改的分支 (被合并 增加新内容)
git checkout 主分支名
第二步 执行merge命令
git merge[有新内容的分支名
合并分支产生冲突的解决方法
第一步编辑文件删除特殊标识
把文件修改到满意程度
git add 文件名
git commit -m '日志信息'