git学习

git学习

git和代码托管中心

代码托管中心的任务是:维护远程库
局域网环境下
1、 Gitlab 服务器
外网环境
1、github
2、 码云

Git命令行操作

创建一个文件夹mkdir 文件名称,
初始化目录 git init,
查看隐藏文件 ll ls-la
~ 家目录
less

本地库初始化

设置签名
用户名
Email 地址
作用:区分不同的开发人员身份
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系
命令:
项目级别/仓库级别:仅在当前本地库范围有效
git config user.name tom_pro
git config user.email goodMorming_pro@atguigu.com
信息保存目录
cat .git/config
系统用户级别:登录当前操作系统的用户范围
git config --global user.name tom_glb
git config --global user.email goodMorming_pro@atguigu.com
cat ~/.gitconfig
级别优先级
就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
如果只有系统用户级别的签名就以系统用户级别的签名为准
二者都没有不允许

命令操作
git status

历史记录:

多屏显示控制方式
空格向下翻页
b向上翻页
q退出
git log --pretty=oneline

git log --oneline

git reflog

移动到当前需要移动的步数 HEAD@{1}:
前进后退
本质
HEAD

基于索引值操作(推荐)
git reset --hard 0ce5244
使用^符号 只能后退
git reset --hard HEAD^^ 一个符号一步 N个表示后退N 步
使用~符号 只能后退
git reset --hard HEAD~ 5
reset 命令的三个参数对比
仅仅在本地库移动HEAD指针
mixed 参数
在本地库移动HEAD指针
重置暂存区
hard参数
在本地库移动HEAD指针
重置工作区
删除文件找回
前提:删除前,文件存在是的状态提交到了本地库
操作:git reset --hard[指针位置]
删除操作已经提交到本地库:指针回执指向历史记录
删除操作尚未提交到本地库:指针位置使用HEAD
文件比较
git diff 【文件名】
将工作区中的文件和暂存区进行比较
git diff 【本地库中历史版本】 【文件名】
将工作区中的文件和本地库历史记录比较
不带文件名比较多个文件
分支操作
master
feature_blue
feature_game
hot_fix(bug 分支)
分支的好处
同时并行推进多个功能开发

查看分支

git branch -v 获取当前分支

创建分支
git branch hot_fix 创建新的分支
切换分支
git checkout hot_fix 切换到新的分支
合并分支
第一步:切换到接收修改的分支(被合并,增加新内容)上
git checkout[分支名]
第二步:
执行merge命令
git merge [被合并分支名]
冲突解决
第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add [文件名]
第四步: git commit -m “日志信息”
注意:此时commit一定不能带具体文件名
git 基本原理
hash

连接远程库

推送

git remote -v
git remote add origin 地址
git push origin master

克隆

git clone origin[远程地址]
效果
完整的把远程库下载到本地
创建origin远程地址别名
初始化本地库
setting 中添加团队成员
Add a collaborator to DreamCode

拉取

pull=fectch+merge
git fetch [远程库地址别名】【远程分支名】
git merge [远程库地址别名/远程分支名]
git pull 远程库地址别名 远程分支名

解决冲突

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值