Git 学习笔记

版本控制工具应该具备的功能
1、协同修改
2、数据备份
3、版本管理
4、权限控制
5、历史记录
6、分支管理

Git的优势
1、大部分操作在本地完成,不需要联网
2、完整性保证(hash)
3、尽可能添加数据而不是删除或修改数据
4、分支操作分厂快捷流畅
5、与linux命令全面兼容

git安装路径 -- :

Additional icons - 桌面是否创建git图标
Windows Explorer integration - 是否集成到windows右键菜单
Git LFS - git大文件的支持
Associate .git* - 使用默认的编辑器打开。git文件
Associate .sh 是否用git打开.sh的文件

用什么编辑器打开


调整PATH环境变量
Use Git from Git Bash only - 最安全的选择,你只能在git bash中使用
Use Git from the windows Command Prompt - 在windows里面也使用
Use Git and optional Unix tools from the windows Command Prompt - 对环境变量覆盖性的修改

行末换行符转换方式
默认第一个

用哪一种终端 使用GIT默认的终端

Git结构
本地库:历史版本
暂存区:临时存储
工作区:写代码
工作区 git add到暂存区 git commit到本地库

Git和代码托管中心:维护远程库
1、局域网环境下

  • GitLab服务器
    2、外网环境下
  • GitHub
  • 码云
    团队协作:

    跨团队写作

Git命令行操作:
1、本地库初始化 .git目录存放的是本地库相关的子目录和文件,不要删除修改等

2、设置签名
形式 -
用户名:tom Email地址:goodMorning@qq.com
作用 - 区分不同开发人员的身份,这里设置的签名和登录远程库(代码托管中心)的账号密码没有任何的关系
命令 -
1、项目级别/仓库级别:尽在当前本地库范围内有效 git config user.name zyyanga git config user.email 。。。@qq.com
2、系统用户级别:登录当前操作系统的用户范围 git config --global user.name tom_pro git config --global user.email 。。。@qq.com c/user/z
3、优先级:(1)就近 项目级别优先于系统用户,(2)如果只有系统用户级别的签名,就以喜用用户级别签名为准,(3)二者都没有不允许

基本操作:
1、状态查看操作
git status -- 查看工作区、暂存区的状态
2、添加
git add[file name] 将工作区的/新建/修改添加到暂存区
3、提交操作
git commit -m "" [file name] -- 将暂存区的内容提交到本地库
4、查看历史记录
-- git log 空格向下翻页 b向上翻页 q退出

$ git log
commit 32aaedb27d579f4ff1752cb0e00a4a523b720756 (HEAD -> master)
Author: zyyanga 893714777@qq.com
Date: Sat Jun 26 00:28:18 2021 +0800

insert bb

-- git log --pretty=oneline
$ git log --pretty=oneline
32aaedb27d579f4ff1752cb0e00a4a523b720756 (HEAD -> master) insert bb
9c4dab94c8b69177fbc67e3dc488bf70dfaf7a88 insert aaa
b8bceeaf8a8ed57a82cbcab9fd9badc2ddcaa35b My Second commit,modify good.txt
4be1b30b928544d494607369eceded3b566fc395 My First Commit new file good.txt
-- git log --oneline
$ git log --oneline
32aaedb (HEAD -> master) insert bb
9c4dab9 insert aaa
b8bceea My Second commit,modify good.txt
4be1b30 My First Commit new file good.txt
-- git reflog
$ git reflog
32aaedb (HEAD -> master) HEAD@{0}: commit: insert bb
9c4dab9 HEAD@{1}: commit: insert aaa
b8bceea HEAD@{2}: commit: My Second commit,modify good.txt
4be1b30 HEAD@{3}: commit (initial): My First Commit new file good.txt

前进后退:
本质:HEAD 指针

1、基于索引值操作
git reset --hard 哈希值

2、使用^符号 只能往后退
git reset --hard HEAD^ 基于当前指针后退一步 后退几步看几个^符号
3、使用~符号 也只能后退 使用方式和2相同
git reset --hard HEAD~3

posted @ 2021-06-25 02:34  杨大德  阅读(49)  评论(0)    收藏  举报