git基础教程
一入前端深似海 不知你还敢不敢
首先介绍一下什么是git,我们为什么要用它??
Git是目前世界上最先进的分布式版本控制系统,简称“高端大气上档次”,至于为什么要用它,主要是它有3个非常牛皮的功能,1、版本控制 2、代码同步 3、协同开发,想要详细了解的同学可以手动,在这里就不详细介绍了。
在开始之前,你得确定你已经有了一个GitHub账号哦,开始啦!
1.登录自己的github账号,在上面新建一个项目
如果我没猜错的话,你现在已经在git上面有了自己的项目,然后细心地同学就会发现这里怎么有两个clone方式,一个 use SSH,一个use HTTPS,有什么区别呢?
其实两个地址都可以,只是用HTTPS上传和下载代码的时候每次都需要输入密码,呃呃呃,确实是有些墨迹了,所以这里还是建议使用SSH的方式,只不过在开始之前需要配置一下秘钥对,到底怎么配置呢,网上教程太多,但是我怕你们看不懂,所以跟我来- 打开终端,输入 ssh-keygen -t rsa -b 4096 生成秘钥对(执行完之后,你就会发现生成了两个文件 私钥 id_rsa 和公钥 id_rsa.pub )
- 复制 id_rsa.pub 到 github 上, 点击GitHub左上角 settings - SSH and GPG keys
- 收工,搞定
2.开始Git操作啦,拿出小马扎,小葵花课堂开讲啦!
git init
本地新建一个文件夹,叫什么名字你就自己想吧,命令行进入这个文件夹,执行 git init 生成一个 .git的隐藏文件。
git remote
如果我们想把我们之前在GitHub上的仓库和这个新建的本地连接起来怎么办,使用 git remote add orgin (你的GitHub文件地址),然后执行 git remote -v 测试一下有没有连上。
git status
我们新建一个TXT文件来操作一下,随便输点什么内容就好就好,然后我们执行 git status
发现,它提示我们这是一个未追踪的文件,建议我们使用 git add,其实 git status 就是查看状态,查看我们修改或者添加了什么文件,是一个使用相对频繁的命令了,既然都提示我们 git add 我们也去看一下吧。
git add
git add 就是把文件提交到暂存区,等待被提交,然后我们在执行一下 git status 来看一看,有没有什么变化。
看见没有,绿了绿了,呃呃呃,说明文件已经被我们提交上去了。但是我们刷新GitHub缺并没有看到我们新建的那个文件啊,怎么回事呢?乖乖~~因为是暂存区啊,下面就讲一样怎么提上去吧。
git commit
这条命令就是将我们在暂存区的内容,设置成一个提交信息,放置到提交队列中,等待被提交到GitHub仓库中,走起!执行 git commit -m "这是一个被添加的.txt文件" 然后再 git status
文件上传成功,暂存区的文件没了,马上就能提交到GitHub上了,就差临门一脚了!
git push
git push这条命令就是将我们的代码提交到远程仓库中,快来试一下,但是这样可能会出现一些问题,我们一会再说。
快去你的GitHub仓库看看有没有添加成功呢?
现在基本流程已经跑通了,下面说一下该怎么分工协作呢?
git branch
分工协作是git的主要特色之一,实现的方式就是一个又一个的分支,每人一个分支,然后汇总到总分支上,我们一般默认master是主分支,里面是正式环境的代码,新建一个develop代表测试环境的代码,那么怎么添加分支呢?不要着急,我们先查看一下分支吧 git branch
git branch 查看本地分支, 加上 -a 也包括远程分支,现在我们新建一个分支吧,试试 git branch
看, 我们新建的develop分支出现了,好棒耶,那么怎么切换呢,接着往下看。
git checkout
git checkout 就是切换分支的一条命令,试一下
小tip git checkout -b develop1 表示新建一个develop1的分支并切换上去。
很显然,我们成功切换到了develop分支,但是现在远程仓库是没有这个分支的,怎么办呢,怎么办呢?别急,我们试一下 git push --set-upstream origin develop 这样,我们就在远程仓库也生成了一个新的分支。但是之前不是说过分工协作么,我们怎么把分支合并呢,这就来了!
小tip,在 push之前要先pull一下哦,不然小心有冲突,git pull 就是拉一下分支上的代码合并到本地。
git merge
现在我们修改一下TXT文件,对,这里说一下,其实 git add 和 git commit 是可以合并的,就像这样 git commit -am '随便什么' 是不是方便许多,修改后在push一下,在切换回master分支,这里就不贴图了,小伙伴自己尝试一下,然后我们在master分支输入一下 git merge develop 试试.
有没有发现什么变化呢?merge的意思就是把develop上的代码同步到master上。
其实说到这里基本就差不多了,开发过程中遇到的基本命令基本就这些,下面说两个不经常使用的吧。
git branch -d <分支名>
这个命令的用处是来删除分支,因为我们合并了分支之后,一些分支是没有用处的了,所以我们可以删除这些分支,这里就不试验了,感兴趣的小伙伴可以自行尝试一下。
解决冲突
按照我的指示大家操作一下
- 1.切换到develop分支,修改TXT文件为“元尊好看”
- 2.git commit -am "元尊"
- 3.git checkout master,修改TXT文件为“大主宰好看”
- 4.git commit -am "元尊"
- 5.git merge develop
如果我没猜错的话,你那里应该报这个错了吧,嘿嘿,没错这个就是代表冲突了
这是我们查看text就会发现变成了这样
'<<<<<<<'表示冲突开始 '>>>>>>>'表示冲突结束, 解决方式就是对这个文件进行修改,删除你不想要的东西,只留下“元尊好看”就行了,然后我们提交推送到远程仓库就ok啦!
好哒 今天Git操作就讲这么多,其实工作中遇到的常用命令基本也就这么多,对其他命令兴趣的小伙伴可以去廖大神的去看一下,比我写的好多了,嘿嘿,再见!!bye!!下期再见
同时天涯前端猿,相逢何必曾相识,以上只是猿主个人得一些拙见,仅代表我个人观点,如果有错误指出,还望大家能够指出,谢谢。最后,咳咳,点个关注留个赞再走吧,嘿嘿?。