1.本地项目 初始化 git
git init
2.添加本地代码到暂存区
git add .
3.提交本地代码(先保存本地的代码,防止后面合并冲突)
git commit -m '保存本地版本'
4.添加 远程仓库地址
git remote add origin http://xxx.xxx.git
5.拉取远程仓库代码,忽略提交历史记录
git pull --allow-unrelated-histories
6.有冲突的情况如下:
CONFLICT (add/add): Merge conflict in src/com/exmple/a.java
Auto-merging src/com/exmple/a.java
CONFLICT (add/add): Merge conflict in src/com/exmple/b.java
Auto-merging src/com/exmple/b.java
CONFLICT (add/add): Merge conflict in src/com/exmple/c.java
Auto-merging src/com/exmple/c.java
Automatic merge failed; fix conflicts and then commit the result.
①.合并冲突(CONFLICT (add/add): Merge conflict in 后面是文件路径),使用 vi 编辑也可以用其他
vi src/com/exmple/a.java
②.选择你要保留的代码块,vi 编辑模式下用到的命令如:
按 i 进入编写模式
按 Esc 退出编写模式
dd (删除当前行)
u (撤销上一步)
:q (退出)
:wq (保存退出)
:q! (不保存强制退出)
/txt (按 回车键Enter, 查找 txt 关键字 (小写 n 下一个,大写 N 上一个)光标悬停就是匹配位置)
内容冲突如下:
<<<<<<< HEAD
public static final String txt = "这里是 你当前分支的代码块,相当于 --ours"
=======
public static final String txt = "这里是 其他分支的代码块 ,相当于 --theirs"
>>>>>>> 15fbca268cbb602a6b6039bfea66821d17c6514a
③.不用vi编辑解决冲突时,也可以 保留冲突文件的 本地修改 或 远程修改
保留本地修改
git checkout --ours src/com/exmple/a.java
保留远程修改
git checkout --theirs src/com/exmple/a.java
7.保存 合并版本 到暂存区
git add .
8.提交 合并版本
git commit -m '提交 合并版本'
9.推送到远程
git push