当前位置:   article > 正文

git关联远程分支_小白学git

git remote关联远程分支

adc14241f37160b66e1416bb83588486.png

git 的历史,git 是由 Linus Benedict Torvalds 这位电脑天才花了两周时间开发出来的。他不但是 linux 的创始人,还是 git 的创始人,两个字:牛逼!

git 是一个版本控制工具,它是用来管理你项目的各个版本的。

在看这篇文章之前,默认你已经安装了 git ,配置了环境变量,有 git bash 可以使用。

本文约定:为了使文章看起来更简洁,我把所有的 ”git版本控制工具“ 都用 ”git“ 来代替。本文中所有的指令输入都是在 git bash 中输入的。

前言:如果要说 git 的话,三言两语就可以讲完了。那个你下载的 git bash 黑乎乎的命令行界面,还有那些看起来挺复杂的 git 指令,它们的最终目的都是为了版本回溯和多人协作开发。把版本回溯和多人协作开发说清楚之后就没什么好讲的了。

文章开始:

git 的大部分内容都在下面这张图里展示了。这张图非常重要,因此务必掌握。

注意:我认为这张图有点问题的,问题我放到附录中描述。

9220ab69c62636c41a35fdffd6ad1ab3.png

解释一下这张图吧。

“Remote Directory” 也叫 “Remote Repository”,中文名称是“远程仓库”。远程仓库正如其名,不是我们电脑里面的东西,而是存放在离我们遥远的 github 服务器上。

History(版本库)、Stage(暂存区)、Working Directory(工作目录)都是我们电脑里面存放的东西。

这四个东西,组成了git。

工作目录、暂存区、版本库、这些东西分别都是什么??

工作目录,是一个被 git 管理的文件夹,它是从普通文件夹进化而来的。当你在某个普通的文件夹里面右键 git bash,输入 git init,这个文件夹就从一个普通的文件夹变成了一个被 git 管理的文件夹。你可以在这个文件夹(工作目录)里面随便创建文件,这些文件都会被 git 管理。

版本库,是用来存放你项目的各个版本的。你可以在 git bash 里面输入 git log 来查看你项目所有的版本号。刚刚被 git 管理的项目,是没有任何版本的。只有你在 git bash 中输入 git commit -m "随便输入一些该版本的信息吧",才会形成一个版本。每 commit 一次就会形成一个版本,commit 了多少次就有多少个版本,版本数量没有上限。版本库存在的意义就是让你可以吃后悔药,你可以让你的文件回退到任意一个版本。

暂存区,刚刚输入的 git commit 是无法形成版本的,你要先把文件从工作目录中放到暂存区中,才能对暂存区里面的文件做提交(commit)的操作。暂存区存在的意义就好像是给你一个想清楚的机会,让你想清楚是不是真的要提交形成一个新的版本。所以当你在工作目录里面做了修改(比如增加一个文件,或修改某个文件的某句代码),你执行 git commit 是无法创建一个版本的。你要先执行 git add .,注意"."前面有空格,然后才能执行 git commit。这个时候你的版本库里面就有一个新的版本啦。

版本回退

俗称后悔药,在 git bash 中输入命令 git log 查看版本库中所有的版本号,然后输入 git reset --hard [这里写你的版本号] 就可以回退到你指定的版本号。

举个例子:假设你的项目有两个版本,一个是 version 0.0.1,一个是 version 0.0.2,你现在用的是 version 0.0.2,你想回退到 version 0.0.1,那么你只需要按照上面的步骤,输入两条指令就可以回退到 version 0.01。如果你可以实现回退了,那 git 你也就掌握得差不多了。

回退之后又想回来

如果回退到了 version 0.01 之后,又想回到 version 0.0.2。那么你要输入 git reflog 查看所有改变过版本库的操作。然后找到 version 0.0.2,输入 git reset --hard [这里写你的版本号] ,就可以回到 version 0.0.2了。

分支

创建一个分支可以让你的项目有不同的版本同时进行开发。有很多人说创建分支之后就可以多人开发了,但其实并不是这样的,就算没有分支(只有一个 master 分支也可以多人开发)。分支的本质是让项目有两个或多个不同的版本可以同时存在。分支与多人协作没有任何关系。

git branch [分支名] 创建分支

git merge 合并分支

分支不是重点,所以没什么好停留的。大概懂基本的概念就行。

多人协作

git 还有一个重要的组成部分就是 git 的远程仓库。远程仓库可以是 github,也可以是 gitee 等等。

有了远程仓库就可以实现多人协作开发了。远程仓库其实和你本地的仓库(也叫版本库)没什么区别,只不过远程仓库放在一台遥远的电脑上,本地仓库放在你自己的电脑上。

远程仓库存在的意义就在于它不单可以被你使用,它还可以被其他人使用,而本地仓库只能被你一人使用。这是远程仓库和本地仓库的最大区别。

你可以将你的仓库内容发送到远程仓库中,别人同样可以发送他的仓库内容到远程仓库中。

你可以往远程仓库里面拉取代码到你的本地仓库里面,别人同样可以把远程仓库的代码拉取到他的本地仓库里面。

基于远程仓库拥有“谁都可以使用”的特点,才可能让多个开发者使用同一个仓库进行协同开发。

远程仓库并不是谁都可以使用的,谁创建的仓库,谁就可以使用。创建仓库的人还可以把人拉进来,拉进来的人也可以使用。

其他的人只能复制仓库到他本地仓库里面,他们没有修改远程仓库的权限。试想一下,如果一个远程仓库可以被陌生人随意修改,是一件多么可怕的事情!

当你有一个或多个小伙伴的时候,邀请他们进开发同一个项目吧,不然只有你自己一个人,创建了一个远程仓库能做的也就只有把自己本地的仓库推到远程仓库,然后又把远程仓库的东西拿回来。推来推去都是你自己的东西,就是自娱自乐。

想要体验更高级的乐趣,多找几个小伙伴吧。到时候你就能体会到合并数据之类的内容了。

附录

最开始的那张图我认为有点问题,应该把 git checkout 换成 git rm --cached [文件名] 或者 git reset,才能达到把添加到暂存区的文件撤销的效果。

最后:我也是小白,刚学 git 和 github 的第一天,尝试了各种指令,稍有心得。

我觉得以一种刚刚学东西的口吻去讲述可能更容易引起像我一样的小白的共鸣,所以我急着写了这篇文章。

我知道这篇文章肯定有很多地方有待商榷,希望大家指点,我后续会修正。

最后祝大家拿到自己心目中的offer。

2020.11.4更新

将本地提交内容推送到远程分支

git remote add origin [remoteURl] ,关联远程仓库,其中origin是你给关联关联的远程仓库起的名字,名字可以和远程仓库名不一样。

git push -u origin master,其中origin 表示远程仓库名称,master是远程仓库的push目标分支。-u (推测为update缩写_~)表示本地分支将建立对远程仓库目标分支的检测,如果远程仓库目标分支不存在,将新建分支再push;如果存在,将进行push更新。

git remote -v ,查看关联了什么远程仓库。

关联远程仓库分支(关联了才能用 git push

git push --set-upstream origin master,其中 master 表示远程仓库的名称,master 是远程仓库的 push 目标分支。关联上了之后,直接输入 git push 就会自动 push 到被关联仓库的分支。

2020.11.5更新

删除远程分支

git push origin --delete [branchname]

2020.11.6更新

把提交内容写错,想要修改最近一次提交,输入

git commit --amend -m "[你想修改成提交什么内容]"

想要删除一个误创建的分支

git branch -D [branch name]

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号