Git 从入门到入坑

当你想要学习 Git 的时候,我猜你应该已经了解了什么时候 Git。没错,它就是分布式版本管理系统。

讲人话系列,就拿你上学时候考试来说吧,老师发了一张英语试卷给同学们做。

这时你就想偷懒了,和几个朋友商量好,一个人做听力,一个人做阅读,一个人做完形填空。

最后,你们把各自做的和并起来,一张卷子就做完了。不要问为啥没人写作文,那岂不是抄的很明显吗?

好了,闲聊到此,咱们正式开始介绍 Git。(假设你已经安装并配置好了Git,不会的请百度 )

开局一张图,内容全靠编!!!图片借于 该站 

在介绍 Git 之前,这张图片很有必要熟悉,它会加强你的记忆!

你的仓库由 Git 的三个部分组成,工作目录、暂存区、Head。

工作目录指的是...望文生义就行了,暂存区存的是你临时的变更,Head 就是你最终提交的区域。

当我们需要提交变更时,一般都是三部曲:git add filename、git commit -m "msg"、git push origin branch(分支)。

git add 将变更文件提交至暂存区,git commit 将暂存区中的文件提交至 Head 区,git push 推送至远程仓库。

在了解了 Git 的基本信息后,我们以一个实际项目为例开始我们的教程吧!

我们仍以老师发试卷为例,首先假设我的身份是老师:

我先在 Github 上创建一个 StudyGit 的仓库,然后在再本地创建一个仓库,使之关联起来。

cd GitRepository
mkdir StudyGit cd StudyGit git init git remote add origin git@github.com:M
-Anonymous/StudyGit.git

接下来我在 Github 上发一张试卷,名叫 English,以及一个 README.md 的说明。

vi README.md // 内容自己编
vi English.txt // 内容自己编
git add README.md
git add English.txt
git commit -m "English Test"
git push origin master

好了,作为老师,我已经完成了发布作业的任务。

现在假设我的身份是学生Tony,我需要把老师的试卷克隆到本地。

cd GitRepository
git clone git@github.com:M-Anonymous/StudyGit.git

 然后完成听力部分:

cd StudyGit
git switch -c hear // 创建并进入 hear 分支
vi English.txt // finish the part of hear
git add English.txt
git commit -m "finish hear"
git push origin hear

现在假设我的身份是 Tom,需要完成阅读部分

cd StudyGit // 同一台机器就 git switch master
git switch -c read // 创建并进入 hear 分支
vi English.txt // finish the part of read
git add English.txt
git commit -m "finish read"
git push origin read

当每个人完成相应的任务后,需要合并分支(目前位于 master 分支)。

git merge hear
git merge read

合并 hear 分支的时候没有什么问题,当合并 read 分支的时候会发生冲突。

此时不要慌,出现冲突是正常的:

vi English.txt // 编辑成希望看到的样子
git add English.txt
git commit -m "finish"
git push origin master

最终,Tony 和 Tom 终于合作做完了 English Test。

至于其他许多 git 命令,请看 Git Command

posted @ 2020-07-14 16:25  M-Anonymous  阅读(166)  评论(0编辑  收藏  举报