Git常用命令和场景(一)--线上代码更新 和 项目代码提交

本文介绍了Git的基本使用流程,包括初始化仓库、配置用户信息、查看状态、提交修改等常见操作,并详细解释了如何从远程仓库拉取代码及推送本地更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的工作中使用到了git,简单做个记录:

1.  项目查看或执行,用于测试环境和线上环境:
git初始化:
git init
git拉取代码:
git pull git@127.0.0.1:project.git 


2. 项目开发,用于开发环境:
(在 1 的基础上进行开发之后)
首先,提交代码涉及到一个配置,配置的内容是标记改代码是由哪个用户提交的,需要name和email两项,通过如下命令设置:
git config --global user.name "lixinglei"
git config --global user.email "lixinglei@xxxx.com"
配置完之后,可以通过git config --list查看到:
[lixinglei@bogon ~]$ git config --list
user.name=lixinglei
user.email=lixinglei@xxxx.com
改配置属于用户级(global)配置,配置完之后,所有的git仓库提交都是使用该name和email

查看当前更改内容,通常在要在commit之前用于确认:
git status

比git status更进一步,查看具体的变化:
git diff

(如有新添加文件则:
git add file1.py

如有删除文件则:
git rm file2.py)

确定了代码无误之后,就进行代码提交,commit是提交到本地:
git commit file3.py service/file4.py -m "版本注释"

在将本地代码推到服务端之前,通常需要更新一下线上的代码,该pull操作,会自动合并merge本地代码:
git pull git@127.0.0.1:project.git 

最后就是将本地库代码推到服务端:
git push git@127.0.0.1:project.git
<think>好的,用户现在想了解如何使用Git同步线代码的操作。首先,我需要明确用户的需求。他们可能已经使用过Git,但需要更详细的步骤来同步远程仓库的代码,或者他们可能是新手,需要从基础开始指导。接下来,我应该考虑常见的同步场景,比如拉取最新代码、解决冲突、推送本地更改等。 用户的问题中提到的是“同步线上的代码操作”,这可能包括从远程仓库获取更新到本地,以及将本地的更改推送到远程仓库。因此,我需要涵盖常用的命令如git pull、git fetch、git push,以及如何处理分支合并冲突的情况。 接下来,我需要考虑用户可能的疑问点。比如,git pullgit fetch的区别是什么?如何解决合并冲突?分支管理的最佳实践是什么?是否需要使用rebase还是merge?此外,用户可能还关心如何保持本地与远程分支的同步,避免提交历史混乱。 我还应该提供些常见问题的解决方法,比如远程分支删除后如何更新本地仓库,或者如何强制覆盖本地更改。同时,确保步骤清晰,结构合理,让用户能步步跟随操作。可能还需要加入些实际例子,比如具体的命令参数,帮助用户更好地理解。 另外,用户之前的提问涉及到了IntelliJ IDEA的配置问题,可能他们也是开发人员,对版本控制工具有定的了解,但需要更深入的指导。因此,在解释过程中,可以适当加入些高级操作,如rebase的使用场景,或者如何利用别名简化命令,但需要明确标注这些是可选的进阶内容。 最后,需要验证所提供的信息是否准确,确保命令的正确性安全性,比如在强制推送时提醒用户谨慎操作,避免覆盖他人提交。同时,检查是否有遗漏的常见问题,比如如何处理远程仓库地址变更,或者如何添加多个远程仓库等。 总结来说,我的回答需要结构清晰,分步骤介绍基本操作进阶技巧,覆盖常见问题,并提供注意事项,帮助用户安全有效地同步线代码。</think>### Git 同步线代码操作指南 --- #### **、基础同步操作(常用场景)** 1. **拉取最新代码(远程→本地)** ```bash # 默认拉取当前分支的远程更新(自动合并) git pull origin 分支名 # 推荐安全操作:先抓取再合并(避免自动合并冲突) git fetch origin # 获取远程最新信息 git merge origin/分支名 # 手动合并到当前分支 ``` 2. **推送本地代码(本地→远程)** ```bash git push origin 分支名 # 强制推送(谨慎使用!会覆盖远程记录) git push -f origin 分支名 ``` --- #### **二、分支同步管理** | 场景 | 操作步骤 | |--------------------------|--------------------------------------------------------------------------| | **同步远程已删除分支** | `git fetch -p` (自动清理本地无效分支) | | **本地与远程分支关联** | `git branch --set-upstream-to=origin/远程分支名 本地分支名` | | **创建并跟踪远程分支** | `git checkout -b 新分支名 origin/远程分支名` | --- #### **三、冲突解决流程** 1. **拉取时出现冲突** ```bash git pull # 冲突文件会显示 <<<<<<< HEAD >>>>>>> commit_id ``` 2. **手动解决冲突** - 用编辑器修改冲突文件 - 删除冲突标记(`<<<<<<<`, `=======`, `>>>>>>>`) 3. **标记已解决** ```bash git add 冲突文件名 git commit -m "解决合并冲突" ``` --- #### **四、进阶同步技巧** 1. **变基同步(保持提交线整洁)** ```bash git fetch origin git rebase origin/分支名 # 将本地提交"嫁接"到远程最新代码上 ``` 2. **镜像同步(完全覆盖本地)** ```bash git fetch --all git reset --hard origin/分支名 # 注意:会丢失所有本地未提交的修改 ``` --- #### **五、常用场景速查表** | 场景 | 命令 | |---------------------------------|----------------------------------------------------------------------| | 查看远程仓库地址 | `git remote -v` | | 新增远程仓库 | `git remote add 仓库别名 仓库URL` | | 同时推送到多个仓库 | `git push 仓库别名1 分支名 && git push 仓库别名2 分支名` | | 放弃所有本地修改 | `git checkout . && git clean -fd` | --- ### **注意事项** 1. **强制推送风险**:`git push -f` 会覆盖远程历史记录,团队协作时需提前沟通 2. **分支保护**:主分支(如 main/master)建议设置保护规则,禁止直接强制推送 3. **提交前检查**:建议先执行 `git status` 确认文件状态 4. **备份习惯**:重要修改前创建新分支:`git checkout -b temp-backup` --- ### **可视化工具辅助** - **IDEA 内置操作**: - 点击右上角 **↗ 箭头** 执行 pull/push - 右键项目 → `Git → Repository → Pull/Push` - **VS Code**: -代码管理面板 → **···** → Pull/Push - 冲突文件会高亮显示差异对比 ![Git 同步流程示意图](https://example.com/placeholder-git-sync-diagram) (示意图说明:本地仓库与远程仓库的双向同步过程)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值