- 文档:
https://www.cnblogs.com/convict/p/10795320.html
1. github是什么?
github
和 码云
是一个帮我们储存代码的地方. 可以记录我们每一个操作, 方便我们后期管理自己的代码.
2. 如何把线上的仓库
拉到本地
?
在线上先创建仓库
, 之后 命令行
进入我们需要放置代码的目录
,通过命令 git clone git@gitee.com:zyzl22/test-warehouse.git
git@gitee.com:zyzl22/test-warehouse.git
是仓库
地址.
PS: 如果对代码存放的位置有强迫症,可以把clone
下来的代码,显示隐藏文件, 一起拷贝到我们想存放的文件夹中. git
的文件,都是存放在 .git文件夹中
. 要一起拷贝过去.
3. 本地
修改的代码怎么提交到线上仓库
?
上一步,已经把代码拉到本地了. 然后在本地中, 可以自由操作文件. 之后通过一下命令.
- 将工作区的“新建/修改”添加到暂存区
git add .
- 将暂存区的内容提交到本地库
git commit -m 描述
- 本地库某个分支推送到远程库,分支必须指定(如果仓库是 单分支模型(只创建master分支) 则后面可以不写
git push [origin master]
4. 什么是分支
?
上面创建 仓库
的时候,创建的是 单分支模型(只创建master分支)
, 这里的 master
就是 主分支. 也是默认的分支.我们所有的操作,最后 push
就是到默认的 master
分支上.
而现实的操作流程是, 多人用一个 dev分支
, 等dev分支
上,代码测试没有问题了.再 合并
到主分支上去.
5. 分支
的增加,删除,切换操作?
01 增加分支
- 在
码云
线上添加分支. 之后通过git fetch
拉到本地. 推荐这种方法,可以更好的保持同步 - 通过命令
git branch dev
, 这里的dev
是自己取的分支名
推荐第一种方法 - 创建一个分支并进入这个分支,
git checkout -b dev
. 推荐第一种方法
02 查看当前分支
通过命令 git branch
, 来查看当前分支
. 有*
的是当前分支.
03 切换分支
通过命令 git checkout dev
, 这里的dev
是我们自己新建的分支
04 删除分支
- 通过命令
git branch -d dev
. (不能删除当前所在的分支,如果当前分支有commit的操作也是不能删除的) - 强制删除,如果已经
commit
之后, 可以通过命令git branch -D dev
.
05 查看所有分支,包括线上分支
git branch -av
可以看到所有分支,线下的是 白色的
, 线上的是 红色
的.
06 如何把线上所有分支拉到本地?
git fetch
可以把线上的所有分支拉到本地. 因为有些分支可能是别人创建的,你如果也要使用,需要拉到本地.
6. 如何合并分支
?
举例: 现在有2个分支,主分支 master
, 开发分支 dev
- 先切换到
dev 分支
, 然后修改代码. - 提交到线上
dev分支
git add .
git commit -m dev分支修改index.html文件
git push [origin dev]
- 切换到主分支
git checkout master
- 合并到主分支
git merge dev
- 提交到线上
master 分支
git push [origin master]
7. 不同人修改不同文件,如何操作?
举例: A,B 2个人,同时操作 dev 分支
的不同文件. A 提交了一个新文件a.html, B 提交了一个新文件 b.html.
- A 新建一个文件 a.html, 并上传到
dev 分支
git add .
git commit -m dev分支A创建a文件
git push [origin dev]
- B新建一个文件b.html,并上传到
dev分支
git add .
git commit -m dev分支B创建b文件
git push [origin dev]
都可以正常操作.
总结: 如果是操作不同的文件,并没有影响.
8. 不同人修改了相同的文件,怎么办?
举例: A,B 2个人,同时操作 dev 分支
的不同文件. A 修改了 index.html, B 也修改了 index.html, 那么会出现什么呢?
- A 修改了 index.html 第11行,加入
<div>A修改的</div>
,之后提交.
git add .
git commit -m A新加一行
git push [origin dev]
- B 修改了 index.html 第11行, 加入
<div>B修改的</div>
,之后提交.
git add .
git commit -m B新加一行
git push [origin dev]
- 此时提交的时候, 需要注意,
命令行
中提示需要我们先运行git pull
, 运行过后, 如下显示
<<<<<<< HEAD
<div>B修改的</div>
=======
<div>A加入的</div>
>>>>>>> a3db72797574145f4d5ca1516075ad0c50cc604b
此时, 我们把这些特殊符号都去掉,然后再次提交.
git add .
git commit -m B整合A之后提交
git push
总结: 我们再多人协作的时候, 写代码之前,最好先运行 git pull
把代码和线上同步一下.
9. 码云的 公钥生成
- 个人设置->SSH公钥
- 生成公钥
https://gitee.com/help/articles/4181
- 拿到公钥之后, 加入 SSH公钥中. 这样本地就有了. 不用每次提交都输入账号密码.