ski 提交代码

ski 提交代码参考

下面的示例是在 r64 分支上进行,如果是在别的分支上进行开发,注意切换到别的分支。

提交代码到远程新的分支:

代码修改完成,编译、测试,确认没问题后:

  1. 如果有新文件,把文件加入暂存区:

    git add file1 file2 # 一定要指定自己新增的文件或目录,尽量不要全局提交
    
  2. 提交暂存区内容到当前分支:

    git commit file1 file2 -m "comments" # 同样是指定要提交的文件,尽量不要全局提交
    
  3. 提交本地仓库到远程仓库的一个新分支:

    git push origin r64:newBranchName # skipper 中分支名一般以 e 开头
    # qt 可以在这个分支上进行测试,测试没问题之后 merge 到 r64 分支
    

追加提交:

当提交没通过测试,重新修改时,修改后:

git commit --amend file1 file2 # 追加提交,保证只产生一次提交记录
git push -f origin r64:newBranchName # 把追加的提交 push 到远程分支给qa测试

合入代码到主分支:

skipper 项目的代码合入主分支前要经过 gerrit 测试,一般是由你的领导 review, review 没问题之后,会帮你合入主分支

提交 gerrit 测试:

在 ski 目录下执行:

git review r64

如果代码 review 不通过,重新修改后,再次执行 git review r64 提交

注意:

  • 提交 gerrit 测试之后在提交的 comment 里会生成 changeId。再次提交时,要保证 changeId 不变,才会追加到上一次的 gerrit 里

其它 git 操作

把远程某个分支 cherry-pick 到本地的 r64 分支:

git fetch origin
git checkout r64
git cherry-pick a-hash # 远程分支的哈希值
git add conflicted-file # 如果有冲突,解决冲突之后标记冲突已解决
git cherry-pick --continue # 解决冲突之后继续 cherry-pick 过程

要更新远程主分支到本地并合并成一个提交:

git pull --rebase origin r64 # 拉取远程分支并和本地分支合并成一个提交
git add file # 如果有冲突文件,解决冲突后要标记
git rebase --continue # 继续

合并最近两个提交:

git rebase -i HEAD~2 # 合并最近两个提交

查看修改

查看最新提交所有的修改内容:

git show HEAD

查看所有修改的文件:

git show --name-only --pretty="" HEAD

查看特定文件的修改:

git show HEAD -- path/to/file.cpp

git 撤销提交

撤销对某个提交文件的修改:

git checkout HEAD^ -- config/clangFormat/pre-commit

只撤销提交,保留代码更改:

git reset --soft HEAD~1

撤销提交,保留修改,但不在暂存区:

git reset --mixed HEAD~1

彻底撤销提交和修改:

git reset --hard HEAD~1
posted @ 2025-04-25 11:21  卑以自牧lq  阅读(3)  评论(0)    收藏  举报