Git使用&代码提交

本文详细介绍了Git的使用流程,包括从本地到Mobaxtrem服务器再到Gerrit代码托管平台的代码同步。讨论了Gitcommit模板、Push命令、本地磁盘映射、代码打包、SSH配置、冲突解决以及多分支管理和合并策略。同时,文章还提到了如何修正提交描述、创建与拉取分支、解决push失败和编译问题等常见操作。

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

Git 使用总结

代码总位置:

电脑磁盘本地<------> Mobaxtrem服务器代码<------> Gerrit代码托管平台

电脑磁盘本地<------> Mobaxtrem服务器代码:  用代码对比工具,把代码同步到服务器上面去
Mobaxtrem服务器代码<------> Gerrit代码托管平台: 使用Git操作啦  git commit 、push什么的


Git commit 提交模板:

    [CR243] Light color pattern for phone  //开发功能名称

    Description:  Light color pattern for phone //具体描述
    Depends-On : 00
    Tracking-Id : BJEVN60-31761 //你开发的功能代号
    Change-Type : Feature
    Domain : HMI
    Unit-Test : NA

值得注意的是,每一次提交对应一个Git上面的Commit记录,如果开发中需要依赖同事某一次的提交,你就需要cherry pick同事的那一次提交

# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]


一般Push代码到服务器,服务器一般都会有好几个分支:
比如说60版 61版 思必驰版 Carplay版等等

例如提交到60分支命令:

git push origin HEAD:refs/for/n61-my20-r6.6
git push origin HEAD:refs/for/n61-my20-New-Partition
git push origin HEAD:refs/for/n60-my20-carplay
git push origin HEAD:refs/for/n60-my20-carplay-sibichi 

建立一个本地磁盘映射
目的:
服务器所有代码或者某一模块代码,就可以下载、保存到电脑磁盘本地
这样好处就是可以随意篡改代码不怕影响到服务器

打包最近的一个patch:git format-patch HEAD^

服务器  代码拉取步骤
1 配置ssh
2 服务器上添加ssh keys
3 获得HTTP Credentials 本地克隆需要密匙 ssh-keygen -t rsa -C "Yitong.He@harman.com"
4 拉取后本地为空

六 踩坑

假设之前的提交描述不规范需要修改:例如修改commit的名字与邮箱

  git rebase -i HEAD~3  前三项
  git commit --amend --author="Author Name <email@address.com>"
  git rebase --continue
  git log
  可一项一项改

七 做项目提前准备

做某个项目服务器编译apk前:

1 创建分支
 注意看gerrit 先进入对应的库例如:
 Repo	harman/vendor/harman/gwmbjev/Cluster
 
 名称 看例如: n61-my20-r6.6
git checkout -b <名称> origin/<一样名称>   //创建分支
git pull --rebase  更新一下最新代码

如果需要拉取某一次的提交commit:
进入gerrit 要拉取的这次提交页面

点击右上角 Download patch 选择ssh 选择Cherry pick

在服务器Mobaxtrem里面粘贴,完成

八:
在服务器提交代码到代码托管平台步骤:

1 git add .

2 git commit

3 若需修改之前提交:
git commit --amend

4 怎么进入vim模式?  填写你的提交信息
输入q
再输入i 进行vim编辑 粘贴提前准备好的提交文本
保存好退出是 wq
服务器退出vim编辑模式:
ESC  :冒号 输入q  空格

代码上传到gerrit以后,如果需要拉到服务器来编译测试
Gerrit右上角 downloadPatch ssh 选择第一个,服务器直接创建新分支,
这样代码就是从gerrit完整拉下来的代码。

5 提交到服务器
 git push origin HEAD:refs/for/n61-my20-r6.6
 git push origin HEAD:refs/for/n60-my20-carplay

九:
有时候会遇到 pull代码没有问题,但是最后push 不上去,编译不通过的问题

git pull --rebase 

十:
拉取代码冲突解决:

1  服务器建立分支
 git checkout -b n61 origin/n61-my20-r6.6

2
cherry pick 某一次提交

3
git显示冲突的 文件
使用文本编辑器打开一个个修改,把需要的代码留住、不需要的删除。

冲突修改完后
git add .
git cherry-pick --continue   直接跳转到commit信息页面
然后
i  表示输入input,就是commit提交信息按i
Esc   :wq
4 最后
git push origin HEAD:refs/for/n60-my20-carplay

十一:

git branch -d 分支名

git branch -D 分支名  强行删除

十二:
多分支开发想要合并:

(主干线和分支线上同时开发)
先在分支上add. ,commit提交后
再切换到主分支,拉去分支的这一次提交

十三

查看git用户名、密码、邮箱的配置
git config user.name
git config user.password
git config user.email

配置user name和email
git config --global user.name "xxx"
git config --global user.email "xxx"

十四:

 git branch      列出本地所有分支
 git branch -r   列出所有远程分支
 git branch -a   列出所有本地分支和远程分支

十五:

git commit --amend
新提交时,多注意,可以合两笔为一笔,避免多出现一笔commit

十六:

如果不小心把不需要的文件添加到暂存区,怎么撤回?

比如我不小心把依赖包文件夹node_modules(这个很大而且没必要git管理这份代码)add了,怎么撤回这个文件?

第一种方法:
$ git reset HEAD -- node_modules
注意:双杠--后面有一个空格,后面再跟文件名。

第二种方法:
$ git rm -r --cached node_modules

十九:

git remote 删除已添加的远程仓库地址:
1
查看当前配置的远程仓库地址
git remote -v  

2
git remote remove <name>  //比如叫一般是origin
3
再执行 git remote -v  查看是否已删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值