在Git使用的第一篇中,说到了本地仓库和远程仓库的概念,那么下面来说说两者的概念,以及两者在日常开发中的使用。本地库的一些基本操作在上一篇中已经说到。
一、远程仓库的使用和常用命令
远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。与他人协作涉及
管理远程仓库以及根据需要推送或拉取数据。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。分支的概念在下一篇中使用
远程仓库一般分为两种,一种是公有的,任意网络可以,如Github,上面提供可以创建免费的远程仓库,另外一种是私有的,需要专有的网络才能访问,如Gitlab,对远程仓库的权限控制有较好的支持
下面以码云上的远程仓库进行演示
我现在在码云一个名为testrepository的远程仓库
接下来通过git clone 远程库的地址将仓库克隆到本地来
Git执行这个命令后,会将远程仓库的内容克隆到本地中
使用git remote 命令可以查看远程仓库地址的别名
使用git remote add [别名] [远程仓库地址]命令可以给远程仓库地址起别名
现在这个仓库已经origin、test两个别名了
二、本地仓库和远程仓库的通信
现在有一个仓库,现在有多人在对同一个工程进行开发,即使用的是同一个远程仓库,如果一个人在克隆好的本地仓库做完修改,如何将修改好的内容推送到远程仓库呢?
现在切换到本地仓库的master分支(分支的概念在后面介绍),新增一个good.txt文件并提交到本地仓库
使用git add命令将文件存储到暂存区,使用 git commit命令将文件提交到本地仓库
经过上述操作后,远程仓库的内容相对于本地仓库的内容是落后的,使用git push [远程库地址别名] [分支名]将内容推送到远程仓库
这是打开远程仓库,发现本地仓库所做的修改已推送到远程仓库了
这是将本地库更新后的内容推送到远程仓库
那么如何将远程仓库的最新的内容同步到本地仓库?
先在远程库将master分支good.txt文件做修改,并提交
查看远程库的master分支的提交记录
查看本地仓库的master分支的提交记录
查看本地库的origin/master分支的提交记录,origin/master是对远程库的master分支的引用,详细的在分支一章介绍
现在本地库master、origin/master提交记录是一致的
使用Git fetch [远程仓库的别名]命令,从中抓取本地没有的数据,并且更新本地仓库,移动origin/master指针指向新的、更新后的位置,但不会将更新的内容合到master分支
另外可以使用Git pull 命令后不仅可以更新本地仓库,移动origin/master指针指向新的、更新后的位置,但不会将更新的内容合到mater分支还会将更新的内容合到master分支
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。