Git工具笔记

解决的问题

老规矩,学习一项新技术时候,先看他解决的是什么问题,怎么解决的,有没有什么局限性。

Git解决的是如何管理团队开发过程中代码版本,已经开发人员之间的协作问题。

解决方法:

版本管理使用本地库分支的概念,相当于在本地有一整套的完整镜像,只有需要发布时候才同步到中央仓库中,这是和SVN这类CS版本管理的主要区别;当打版之后,进行封版操作,重新拉取新分支,用于后续开发。

核心原理

版本管理

Git会维护四个区域,分别是:

  • Remote:远程仓库,代码托管的远端中央Git仓库
  • Repository:本地仓库,保存提交过的各个版本,commit后到达这个区域
  • index:暂存区,git status 查看暂存区状态,标记已修改的文件
  • workspace:工作区,开发内容,只有 git add file 后才能够被git托管。
    在这里插入图片描述

分支策略

拉取一个代码的完全镜像,维护代码变更的状态,可以有选择的把两个版本进行合并。

分支解决的问题:

同时开发,并且互不影响。
在这里插入图片描述

Tag

标签,顾名思义,就是每次commit生成版本时候,做一个命名标记,后续便于追溯版本内容。

git tag tag_name:对当前版本打标签
git push --tag:将标签推送至源端库
git tag:查看当前所有tag

操作

知识点也符合28定理,20%的操作,能满足日常工作80%的需求。

常用操作

库管理
git clone remote_git_path:远端库拉取到本地
git init:初始化库
版本管理
提交代码
# 提交代码,将代码由缓存区提交至仓库(本地)
git commit -m "commit msg" file

#推到指定远端分支
git push -u origin master

切换版本
# 查看commit的版本提交历史
git log

# 回退后的版本,查看全量的commit id
git reflog

#回退版本,HEAD回退到上一个版本
git reset --hard HEAD^

#将git HEAD 切换到指定commit版本上
git reset --hard commit_id
同步远端库
# 本地库推送到远端库
git push 
分支管理
创建分支
git branch dev:创建本地分支
git branch -r dev:创建远端分支
切换分支
git checkout branch_name:切换到指定分支
合并分支
git checkout master;
git merge dev:将dev分支切换到当前分支
拉取指定分支

不常用操作

# 查看开发区和暂存区的差异
git diff

#拉取远端版本
git fetch origin
git rebase origin/master

难懂的概念

fast forward

HEAD:标识当前版本

[TODO]

总结:

git是个用于团队代码协作的版本管理工具。

所有版本管理使用四个区域做管理;

团队协作问题使用分支解决;

为了在管理时候,信息更加友好,使用tag标注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值