Git 原理与使⽤
学习⽬标
-
技术⽬标: 掌握 Git 企业级应⽤,深刻理解Git操作过程与操作原理,理解⼯作区,暂存区,版本库的含义
-
技术⽬标: 掌握 Git 版本管理,⾃由进⾏版本回退、撤销、修改等Git操作⽅式与背后操作原理
-
技术⽬标: 掌握 Git 分⽀管理,从分⽀创建,切换,合并,删除的整个⽣命周期,灵活进⾏各种场景 下的分⽀管理,学习常⻅分⽀管理策略
-
技术⽬标: 掌握 Git 远程仓库与本地仓库,结合版本管理与分⽀管理,做到基于分⽀级的个⼈级开发
-
技术⽬标: 理解分布式版本控制系统,学习远程仓库与本地仓库的交互操作,掌握多⼈协作开发模 式
-
协作⽬标:学习企业级常⻅分⽀策略(master/release/develop/feature/hotfix等),理解不同公 司,不同环境下适合的分⽀模型。结合案例,引⼊⼯程师,测试⼈员,技术经理等⻆⾊,展现项⽬ 开发过程的全貌,深刻理解开发的整体流程,俯视Git在其中的作⽤
Git 安装
Linux-centos
如果你的的平台是centos,安装git相当简单,以我的centos7.6为例:
⾸先,你可以试着输⼊Git,看看系统有没有安装Git:
$ git -bash:
git: command not found
出现像上⾯的结果,Linux会友好地告诉你Git没有安装。
安装 Git:
sudo yum -y install git
查看 Git 安装的版本:
git --version
Git 基本操作
创建 Git 本地仓库
要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建 ⼀个仓库出来。
创建⼀个 Git 本地仓库对应的命令为 git init ,注意命令要在⽂件⽬录下执⾏,例如:
hyb@139-159-150-152:~/gitcode$ pwd
/home/hyb/gitcode
hyb@139-159-150-152:~/gitcode$ git init
Initialized empty Git repository in /home/hyb/gitcode/.git/
hyb@139-159-150-152:~/gitcode$ ll -a
total 12
drwxrwxr-x 3 hyb hyb 4096 May 5 15:49 ./
drwxr-xr-x 13 hyb hyb 4096 May 5 15:47 ../
drwxrwxr-x 7 hyb hyb 4096 May 5 15:49 .git/
我们发现,当前⽬录下多了⼀个 .git 的隐藏⽂件, .git ⽬录是 Git 来跟踪管理仓库的,不要⼿动 修改这个⽬录⾥⾯的⽂件,不然改乱了,就把 Git 仓库给破坏了。 其中包含 Git 仓库的诸多细节,有兴趣的同学可以进⼊看看。
hyb@139-159-150-152:~/gitcode$ tree .git/
.git/
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── fsmonitor-watchman.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── pre-merge-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ ├── pre-receive.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
directories, 16 files
总结
为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你 了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和 版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。