团队协作
两个人改了同一处代码,merge/pull 时就会冲突。Git 会把冲突标记进文件,手动选择保留哪份,然后提交。
冲突标记
<<<<<<< HEAD 开头是当前分支版本,======= 分隔,>>>>>>> 后面是合并进来的版本。手动删除标记、保留想要的代码。
解决步骤
- git status 看哪些文件冲突
- 编辑冲突文件,保留正确内容,删标记
- git add 冲突文件
- git commit 完成合并
预防
及时 pull 保持最新、小步提交、尽量不同人改不同文件。
代码示例
# 冲突时文件内容长这样
# <<<<<<< HEAD
# const price = 5.5; ← 我的版本
# =======
# const price = 6.0; ← 合并进来的版本
# >>>>>>> feature-price
# 解决:删掉标记,保留要的
const price = 6.0;
# 然后
git add index.js
git commit -m "解决价格冲突"
# 中断合并(想放弃时)
# git merge --abort
📚 Shell 命令速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
| 写法 / 语法 | 作用 |
|---|---|
ls / ls -la | 列出文件(-la 显示隐藏和详情) |
cd 目录 | 切换目录 |
pwd | 显示当前目录 |
mkdir -p 目录 | 创建目录(-p 自动建父级) |
touch 文件 | 创建空文件 |
cp -r 源 目标 | 复制(-r 递归复制目录) |
mv 源 目标 | 移动 / 重命名 |
rm -rf 目录 | 删除(危险,慎用) |
cat 文件 | 查看文件内容 |
less 文件 | 分页查看文件(q 退出) |
grep "关键词" 文件 | 按关键词搜索 |
find . -name "*.php" | 按名称查找文件 |
chmod 755 文件 | 修改权限 |
ps aux | 查看进程 |
kill 进程号 | 结束进程 |
top | 实时资源监控 |
df -h / free -m | 磁盘 / 内存占用 |
tar -czf a.tar.gz 目录 | 打包压缩 |
tar -xzf a.tar.gz | 解压 |
curl 网址 | 请求网址(测试接口) |
wget 网址 | 下载文件 |
ssh 用户@主机 | 远程登录 |
scp 文件 用户@主机:/路径 | 远程传文件 |
sudo 命令 | 以管理员执行 |
crontab -e | 编辑定时任务 |