git基本操作,在GitHub上进行操作

本文详细介绍了Git的基本命令行操作,包括初始化、配置、提交、分支管理和历史查看等,强调了分支管理和冲突解决的重要性。同时,阐述了GitHub的账号创建、远程库建立、克隆、推送及拉取等操作,以及团队协作中的邀请和冲突处理流程。
摘要由CSDN通过智能技术生成

一.Git 命令行操作

1. 本地库初始化

  • 命令: git init (切换到目录>右键 Git Bash Here>用 liunx 命令到对应目录下>初始化)
  • 效果:会在当前目录下生成 .git 目录(隐藏的,解决办法:到当前文件夹→查看→显示和隐藏→勾选隐藏的项目)
  • 作用:初始化后,在当前目录下会出现一个 .git 目录,Git 需要的数据和资源都存放在这个目录中
  • 注意点: .git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要随便修改

2.初始化配置

  1. 形式:

    • 用户名:Tom
    • Email地址: kjijd@qq.com
  2. 作用:

    • 区分开发人员的身份
  3. 设置用户名和Email

    • 项目级别/仓库级别:仅在当前本地库范围有效:
git config user.name tom_pro
git config user.email kjijd@qq.com

在这里插入图片描述
2. 系统用户级别:登录当前操作系统的用户范围:

git config --global user.name "damu"
git config --global user.email damu@example.com

在这里插入图片描述

  1. 要检查已有的配置信息,可以使用 git config --list 命令

  2. 删除配置信息 git config --global --unset user.email

  3. 级别优先级:

    • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
    • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
    • 二者都没有不允许
  4. 注意点:

    • 这里的用户名和Email和登录远程库(代码托管中心)账号和密码没有关系 ,
    • 配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置

3.基本操作(查看状态,提交暂存区和本地库.历史查看)

  1. 状态查看
    git status
    1.代表是那个分区的 2.是否提交 3.有没有可提交的文件和提示
    查看工作区、暂存区状态
  2. 添加/撤回>暂存区 (已经add的文件,修改后可以直接commit)
    git add 文件名 提交到暂存区
    将工作区的“新建/修改”添加到暂存区
    git rm --cached 文件名 从暂存区撤回
  3. 提交(这里和安装是选择vim编辑器有关)
    修改后 1 查看提示(git status 命令) modified: file.txt
    git commit 文件名 需要输入提交信息日志>写完wq(下面不需要进入vim)
    git commit -m “commit message” 文件名 将暂存区的内容提交到本地库
    git restore 文件名 撤销某个文件修改的操作
    git reset HEAD 文件名 可以把暂存区的修改撤销掉(unstage),重新放回工作区
  4. 查看历史记录
  • git log 查看版本记录
    在这里插入图片描述
    多屏显示控制方式:空格向下翻页 ,b 向上翻页 ,q 退出(超过了自动多屏)
  • git log --pretty=oneline 每个历史只显示一行(hash值和日志)
    在这里插入图片描述
  • git log --oneline 每个历史只显示一行且显示hash的部分值
    在这里插入图片描述
  • git reflog 显示历史只显示一行,并且显示指针(要移动到版本多少步)
    在这里插入图片描述
    HEAD@{移动到当前版本需要多少步}
  1. 前进后退(三种方式)
    本质:指针移动
    在这里插入图片描述

    • 基于索引值操作[推荐]
      git reset --hard [局部索引值]
      例如: git reset --hard a6ace91
    • 使用 ^ 符号:只能后退
      git reset --hard HEAD^^
      注:一个 ^ 表示后退一步,n 个 ^ 表示后退 n 步
    • 使用 ~ 符号:只能后退
      git reset --hard HEAD~n 注:表示后退 n 步
      例如: git reset --hard HEAD~3 表示后退3步
  2. 删除文件并找回

    • 前提:删除前,文件存在时的状态提交到了本地库.

    • 步骤:进入文件目录>rm 文件名(rm file666.txt)删除本地文件>然后提交到暂存区git add file666.txt >然后提交到本地仓库git commit -m ”delete file666” file666.txt (删除完成)
      在这里插入图片描述

    • 找回操作:git reset --hard [指针位置] 例如:git reset --hard e31cfb5

    • 删除操作已经提交到本地库:指针位置指向历史记录(回到之前未删除版本)

    • 删除操作尚未提交到本地库:指针位置使用 HEAD(git reset --hard HEAD)

  3. reset 命令的三个参数对比

    • –hard 参数
      在本地库移动 HEAD 指针
      重置暂存区 重置工作区
    • –soft 参数
      仅仅在本地库移动 HEAD 指针 (查看状态时,绿色提示,本地库和暂存区不同步)
    • –mixed
      参数 在本地库移动 HEAD 指针 重置暂存区
  4. 比较文件差异

    • 将工作区中的文件和暂存区进行比较
      git diff 文件名
      步骤:vim file.txt(创建file.txt) > git add file.txt(把file.txt添加到暂存区) > vim file.txt (修改file.txt内容) > git diff file.txt (工作区和暂存区比较)
      在这里插入图片描述

    • 将工作区中的文件和本地库历史记录比较
      git diff [本地库中历史版本] [文件名]
      步骤:git commit -m “my file” file.txt (把file.txt提交到本地库) > vim file.txt (修改file.txt内容) > git diff HEAD file.txt (用HEAD比较)
      例如: git diff HEAD file.txt 可以用HEAD或者版本索引值

4. 分支管理

  1. 什么是分支?
    在版本控制系统中,使用多条线同时推进多个任务
  2. 分支本质
    Git的分支,其实本质上仅仅是指向提交对象的可变指针.Git 的默认分支名字是 master
    注意点: Git 的 “master” 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。
  3. 分支的好处?
    可以同时推进多个功能的开发,提高开发效率
    各个分支在开发的过程中,如果某一个分支开发失败,不会影响其它的分支
    失败的分支删除重新开始即可
  4. 分支操作
    • 创建分支
      git branch [分支名]
      例如: git branch hot_fix
      **注意点:**创建 一个新分支,并不会自动切换到新分支中去
    • 查看分支
      git branch -v 可以查看每一个分支的最后一次提交
      在这里插入图片描述
    • 切换分支
      git checkout [分支名]
      例如:git checkout hot_fix
      在这里插入图片描述
    • 合并分支
      命令:git merge [有新内容分支名]
      第一步: 切换到接受修改的分支(被合并,增加新内容)上
      git checkout [被合并分支名 master] /* 切换分支
      第二步: 执行 merge 命令 (合并分支指令)
      git merge [有新内容分支名]
    • 删除分支
      git branch -d [分支名] 如果报错,就是没合并过
      git branch -D 分支名 是强制删除一个分支
    • 解决冲突
      • 冲突原因:两个分支,修改同一分支,同一位置,修改内容不一样时
      • 冲突的地方:打开冲突文件,冲突部分是以 <<<<<<<<<< ============= >>>>>>>>>>标识,将此部分代码进行处理
      • 冲突的表现:
        在这里插入图片描述
        冲突的解决:
        • 第一步:编辑文件,删除特殊符号
        • 第二步:把文件修改到满意的程度,保存退出
        • 第三步:git add [文件名]
        • 第四步:git commit -m “日志信息”
          注意:此时 commit 一定不能带具体文件名

二. GitHub

1. 账号信息

GitHub 首页就是注册页面: https://github.com/
当我们进入官网后会出现登陆的界面,如果你已经有账号了则直接点击sign in 去登陆就可以了,如果是当你第一次使用还没有账号的情况,点击进行注册.
Email 地址:atguigu2018ybuq@alin.com
GitHub 账号:atguigu2018ybuq

2.创建远程库

在这里插入图片描述
在这里插入图片描述

3. 创建远程库地址别名

在这里插入图片描述
通过本地库提交到远程库
git remote add [别名origin] [远程地址]
git remote -v 查看当前所有远程地址别名
在这里插入图片描述

4. 推送

git push [别名 origin] [分支名]
例如:git push origin master /*回车可能需要等待一会会,弹出对话框>输入用户和密码)
在这里插入图片描述

5. 克隆 (从远程库拉取到本地库)

命令: git clone [远程地址]
在这里插入图片描述
成功:
在这里插入图片描述
克隆效果(过程):
完整的把远程库下载到本地
创建 origin 远程地址别名 (git remote -v查看远程库别名)
初始化本地库(就是:git init)

6. 团队成员邀请(邀请用户才能提交)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
“岳不群”其他方式把邀请链接发送给“令狐冲”,“令狐冲”登录自己的 GitHub 账号,访问邀请链接。
点击接受 >然后在执行推送
在这里插入图片描述
:推送了第一次在此推送不要输入用户名:git 本身不具备记录功能,Windows中凭据管理器记录用户名和密码
控制面板\所有控制面板项\凭据管理器(如果想切换用户:删除记录)
在这里插入图片描述
提交后>>然后推送 git push origin master

7. 拉取

git fetch [远程库地址别名origin] [远程分支名master] /*抓取下来
git checkout origin/master /*切换到链接地址(别名)的master(可查看抓取下来内容
切换回 git checkout master
git merge [远程库地址别名origin/master远程分支名] /*合并
git pull [远程库地址别名] [远程分支名] /*等于上面步骤

8. 解决冲突

要点:
如果不是基于 GitHub 远程库的最新版所做的修改,不能推送,必须先拉取。
拉取下来后如果进入冲突状态,则按照上面“分支冲突解决”操作解决即可

总结:

以上就是对git的总结,包括对基本操作(查看状态,提交暂存区和本地库.历史查看,还有对分支的管理,和如果分支发生冲突怎么解决,在GitHub上创建远程库,对远程库修改的拉取,推送操作
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值