初识Git2

20221106

设置用户签名
git config --global user.name = 用户名
git config --global user.email = 邮箱 // 虚拟邮箱即可 不会校验真假

用户签名的作用是区分不同的操作者,它会显示在每一个版本的提交信息中,以此来确认本次提交是哪个做的。

首次安装Git,必须设置用户签名,否则无法提交代码。

这里的用户签名完全只为了显示是who提交的,跟其他远程仓库账户无关

cat ~/.gitconfig
[user]
	name = xxx
	email = xxx
在C:\Users\admin(当前window用户目录)\.gitconfig中可以查看设置的用户签名
git init
git init
初始化本地库
// 默认创建.git的隐藏文件夹 windows下
git status

gitStatus.png

gitStatus2.png

git status
On branch master // 显示当前分支
Your branch is up to date with 'origin/main'. // 有过远程推送则显示远程推送

// 存在修改文件没提交本地库的
Changes not staged for commit:

// 新创建文件,未跟踪的
Untracked files:
git add
git add 文件路径/文件名
git add . // 添加所有到暂存区
git restore --staged
git restore --staged 文件路径/文件名
将已提交至暂存区的文件,退回到工作区
git commit -m “本次提交说明”
git commit -m "本次提交说明"
git reflog | git log

gitReflog.png

gitLog.png

git reflog	
简易查看提交历史
按时间倒叙展示

7位版本号 commit 内容
...
// 说明一点 显示的(HEAD -> main) HEAD@{0}:commit: 最新的一次提交说明
// 当前版本指向HEAD{0}

git log
详细查看提交历史
按时间倒叙展示

commit 完整版本号
Author: 配置的用户签名 name & email
Date: 提交时间
提交内容说明
git reset --hard 版本号
该命令用于作版本穿梭,假如我们commit了三次,即git reflog下大致显示
2342344 (HEAD -> master) HEAD@{0}: commit: 第三次提交 // 最新版本位置
e34d332 HEAD@{1}: commit: 第二次提交
fg34232 HEAD@{2}: commit: 第一次提交

回到第二次提交时
git reset --hard e34d332
2342344 HEAD@{0}: commit: 第三次提交 
e34d332 (HEAD -> master) HEAD@{1}: commit: 第二次提交 // 最新版本位置
fg34232 HEAD@{2}: commit: 第一次提交

回到第一次提交时
git reset --hard fg34232
2342344 HEAD@{0}: commit: 第三次提交 
e34d332 HEAD@{1}: commit: 第二次提交 
fg34232 (HEAD -> master)HEAD@{2}: commit: 第一次提交 // 最新版本位置

底层就是移动了(HEAD -> 当前分支)这一整体指针指向的提交版本
分支
// 查看当前分支
git branch -v 
git branch

// 创建分支
git branch feature-xxx

// 切换分支
git checkout feature-xxx

// 合并分支
git merge 要合并到当前分支的分支名

// 分支冲突
合并分支时,两个分支在【同一个文件的同一个位置】有两套完全不同的修改,Git无法判断究竟使用哪一个因此需要人为手动决定
<<<<< HEAD
	// 这整体是当前分支内容
==========
    // 这整体是合并分支内容
>>>>> feature-xxx
  • 撤销修改
    (撤销修改中分几种情况:1.文件在工作区作修改撤销 2.文件add到缓存区后作修改撤销 不论在哪个阶段 执行命令后 都将回退到git commit 或 git add 或 工作区之前的状态)
$ git checkout --file文件
  • 撤销修改2
    (将缓存区的文件回退至工作区)
$ git reset HEAD file文件 其中git reset有回退版本的意思 还有将缓存区的文件退回至工作区 其中HEAD表示当前文件 具体跟版本回退差不多
  • 删除文件
$ git rm file文件名 

(当在工作区删除了文件时 想要恢复 即可用使用$ git checkout --file文件名 则它会从版本库中复制一份到工作区来;当在版本库中执行了删除文件时此时需要再次执行一次commit)
这里写图片描述

  • 在github上创建仓库并且关联到本地库
    (登录到你的github并且创建个仓库 名字取与本地库名字一致)
    在你的本地库文件目录下运行git bash并键入下面的命令行进行关联
$ git remote add origin git@github.com:Cristop3/RowanIT3.git

(其中默认的远程库名称为origin,第一次进行关联后使用- u 将本地版本库中所有文件提交到github进行托管)

$ git push -u origin master

(其中 origin表示远程库名;master表示在远程库下的主分支文件均提交至该分支下面)
这里写图片描述

(到此以后你在本地版本库中修改的文件均可以通过$ git push origin master提交至在github远程库中)
这里写图片描述

(简单的查看远程库情况)
这里写图片描述

  • 在远程库上克隆项目
$ git clone <github url地址>

这里写图片描述

  • 分支
    (创建一个新的分支 其中- b 的意思是创建一个新分支并切换至该分支下进行操作)
$ git checkout -b 分支名

这里写图片描述

(查看当前库下的分支情况 其中有个*号的表示当前正在该分支下面)
这里写图片描述

(合并分支 当进行团队开发时一般不在master分支上进行开发 都是在主分支下进行创建新的分支 最后进行分支合并)

$ git merge 分支名

这里写图片描述

(删除分支 在进行合并后可以执行该命令把分支删除)

$ git branch -d 分支名

(切换分支 执行命令进行分支间的切换)

$ git checkout 分支名

这里写图片描述

  • 冲突问题
    (当多人开发时 可能存在你修改提交 他人修改提交 这样就会产生冲突 在对应的文件中会产生异样提示在某些地方进行了冲突 标记了不同分支的内容 在进行修改后提交)
    这里写图片描述

(也可以查看分支冲突解决详情)
这里写图片描述

  • 获取最新
    (为了避免冲突 我们可以先获取到最新再进行修改提交操作)
$ git pull

这里写图片描述

到此Git的基本知识也算是说完了 不过总体是参考廖雪峰老师的博文来写的 其实还有更多更强大的功能等我们去研究 做技术的就是要不停的学习研究 我相信我能成为大神 哦 对了 我有新博客了是基于Hexo+Github Page搭建的 还在进行试验中 有兴趣来瞧瞧 共同学习 加油…
Cristop3.github.io

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值