栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Git的结构、工作原理、基本指令

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Git的结构、工作原理、基本指令

文章目录
  • 一、Git的结构
  • 二、Git的工作原理
  • 三、Git的基本指令
    • 1. git init
    • 2. git add xxx
    • 3. git commit -m "xxx"
    • 4. git push origin master
    • 5. git status
    • 6. git clone xxx
    • 7. git diff
    • 8. git checkout xxx
    • 9. git merge xxx
    • 10. git branch
  • 四、注

一、Git的结构

Git作为分布式版本控制系统,相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

二、Git的工作原理

通过维护一个有向无环图Object Graph来记录每个版本及相互关系,实现对版本的控制。其中有向弧A->B代表版本B的基础上修改得到了版本A。
通过在内存中开辟了一块区域(暂存区)并对区分文件状态(已修改、已暂存、已提交),实现隔离本地工作区与本地仓库。

通过存储发生变化的文件而不是变化行(传统VCS的行为),实现版本更新。

三、Git的基本指令 1. git init

将当前文件夹初始化为一个Git本地仓库,当前目录下出现一个.git的目录(隐藏的),这个目录是Git来跟踪管理版本库的,不要手动修改这个目录里面的文件。
可以在最后添加路径参数,就会在指定路径初始化本地仓库。

2. git add xxx

将已修改的文件xxx添加到暂存区。
可以用.表示当前目录,即使用git add .命令可以将当前目录中所有已修改文件添加到暂存区,较常用。

3. git commit -m “xxx”

将暂存区中的文件提交到本地的仓库,并将本次提交命名为“xxx”,便于后续对每次提交区分。
若希望直接将本地工作目录中已修改的文件提交到本地的仓库,则命令行参数改为-a即可。

4. git push origin master

将本地仓库提交到GitHub。
注意,如果本地仓库是用git init自己建的,则需使用命令git remote add origin GitHub仓库链接(以.git结尾)来绑定到GitHub,否则GitHub也不知道你想提交到哪去;如果是用后文提到的clone操作,则已经是绑定好的了。

5. git status

显示当前目录中各个文件状态:
已修改未添加:Untracked;
已添加未提交:Changes to be committed.

6. git clone xxx

从远程仓库克隆⼀个指定仓库到本地。指定的xxx可以是本地⽂件系统或者由HTTP或SSH指定的远程路径。

7. git diff

⽐较⼯作区和暂存区的修改。
可以在最后加上HEAD,实现比较工作区和上一次提交的修改。

8. git checkout xxx

将接下来的指令(如git commit、git merge)均作用于xxx这个分支。
可以在xxx前加-b参数,用于新建名为xxx的分支。

9. git merge xxx

若当前执行操作的分支与xxx的LCA是当前执行操作的分支,则将当前执行操作的分支移至xxx。
若当前执行操作的分支与xxx的LCA不是二者之一,则创建新结点用于合并二者,并则将当前执行操作的分支移至新结点。

10. git branch

显示本地repo的所有分⽀。
可以在最后加上-d xxx的参数,可以删除xxx分支。

四、注

2-4指令笔者最常用,每次写完一小段实验代码就无脑执行这三步。
8-10指令是分支相关操作,附两张图作为实例便于理解:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号