本地仓库与远程仓库建立联系
=============
- 下面这张图是新建git远程仓库成功之后显示的提示文档,指示你该如何将本地仓库与远程仓库建立联系,我给出了每条命令的解释
echo “# 内容” >> README.md //生成一个帮助文档,可以不通过命令行创建,也可以不创建
git init //将当前文件夹初始化为一个git本地仓库
git add README.md //将README.md添加到暂存区
git commit -m “第一次提交” //将暂存区中的文件提交到本地的git仓库
git branch -M main //将当前分支重命名为main
git remote add origin git@github.com:BaiZe1998/git-idea-demo.git//添加远程仓库(建立联系)
git push -u origin main //将本地仓库当前分支的内容推送到远程仓库的main分支,使用-u参数后以后推送如果不加origin main,就会默认推动到origin的main分支
- 此时依旧在git-idea-demo1的文件夹内,在下方的终端输入处输入上述所有的命令,结束之后结果应该与下图相同
- 细心的你发现远程仓库的内容确实更新了,但是有一个问题就是你发现远程库并没有test1.txt与test2.txt两个文本文件,原因在于上面我们使用了一个命令 git add README.md,这个命令只是将README.md这一个文件添加到缓存区,后面的 git commit -m “第一次提交” 负责将缓存区中内容全部提交到本地仓库,然后由git push -u origin main命令将本地仓库内容全部推送到远程仓库,为了使得我们远程仓库也能同步test1.txt与test2.txt必须一开始就将这两个文件加入本地的缓存区接下来通过输入三行代码将test1.txt与test2.txt同步到远程仓库
git add . //表示将当前文件夹内所有文件加入缓存区
git commit -m"描述信息" //提交时可以添加一些描述信息"
git push //第一次使用了git push -u origin main之后下一次提交只需要git push简写即可
- 最后远程仓库也同步了本地仓库的数据,我们的准备工作也做好了,接下来正式开始模拟两个用户协同开发时会遇到的场景
模拟两个用户协同开发的场景(使用IDEA自带界面操作,不使用命令行)
==================================
假设:员工A是某公司的老员工,员工B是公司的新人
推送代码到远程仓库(当只有一个人在维护远程仓库时)
=========================
事实上上述操作git的步骤都是使用了git的命令行操作的方式,并没有发挥出IDEA的强大,接下来将尽量使用IDEA的界面上的可视化按键去完成对git的操作
-
当员工B还未加入到员工A的开发小组,整个项目只有员工A在维护的时候,员工A在自己的新建了test3.txt,接下来将该文件添加到缓存区,并提交到本地仓库,然后再从本地仓库推送到远程仓库(修改->添加->提交->推送,这是很常见的一个git操作流程,注意接下来将不使用命令行操作)
-
修改项目内容(添加了test3.txt)
- 添加到缓存区
- 提交到本地仓库,并且选择commit and push

- 远程仓库完成了数据的同步
克隆远程仓库项目
========
- 今天员工B被分配到员工A所在的小组参与开发,所以他首先要将小组当前正在开发的分支的项目代码从远程仓库克隆到本地,首先用IDEA打开git-idea-demo2文件夹,在终端Terminal处输入git clone 远程仓库的地址将整个项目拷贝到git-idea-demo2文件夹内
- 注意,虽然员工B在git-idea-demo2文件中用了克隆,但是git-idea-demo2中的git-idea-demo文件才是员工B本地仓库的存放文件(进入之后看到.git文件在哪个文件夹内,哪个文件夹就是本地仓库文件夹)
拉取远程仓库的代码(远程仓库与本地仓库无冲突)
=======================
-
就在员工B开始正式参与A小组的开发,当前他还未对上一次克隆下来的版本的代码做任何修改,在准备开始编码前,他又尝试去远程仓库拉取最新的代码(因为员工A有可能又提交了新的修改的版本)
-
为了满足情景,我们让员工A修改一下test3.txt,然后推送到远程仓库



