首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择包含关键字的提交(跟踪id)

选择包含关键字的提交(跟踪id)
EN

Stack Overflow用户
提问于 2015-02-26 06:33:23
回答 1查看 807关注 0票数 3

为了代码评审的目的,我想

  1. 樱桃采摘特定提交
  2. 与他们一起创建一个新的分支
  3. 把树枝推到远处

这样我就可以把分支网址给同行看了。

我想创建一个shell脚本并发出简单的命令,如

代码语言:javascript
复制
git-review <trackingID>

它给出的输出如下

代码语言:javascript
复制
Branch <currentgitusername>_<trackingID> created and pushed to remote.

我编写了一个脚本,完成上述步骤。

代码语言:javascript
复制
#!/bin/bash

if [ -z $1 ]; then
    echo "Rationale: Cherry pick all commits in master, matching the tracking ID and create a new branch.";
    echo "";
    echo "Usage:  $0 traackingID";
    echo "";
    exit 1;
fi

#If $1 doesn't match a AGW-<number> pattern, thrown an error
#Best of luck if you did not add add tracking ID in commits.

user="$(id -u -n)" > /dev/null

echo "You are - $user"

branchname=$user"_"$1"_review"

echo "Creating branch - $branchname"

git checkout -b $branchname > /dev/null

git log master --pretty=%H --grep="$1" | while read rev
do
  echo $rev
 # git cherry-pick $rev > /dev/null
done

#git push &> /dev/null

echo "Created branch, cherry picked, pushed to remote. Now switching back to master. Bye."

git checkout master

但被困在几个地方。

  1. 我想验证trackingID格式。应该是AGW-<somenumber>
  2. 看来樱桃树有合并问题。 myname@mymachine ~/myproj $./git-review.sh AGW-1234您是-我的名称创建分支- myname_AGW-1234_review切换到一个新的分支' myname _AGW-1234_review‘2 dfafa89e10062e7cfccb1d7a947ebb848c40cc6以前的樱桃-选择现在是空的,可能是由于冲突的解决。如果您希望提交它,请使用: git commit --允许空否则,请使用'git重置‘1e295000bc3d80880518c9ac5e34ef3b28fc29e错误:您对以下文件的本地更改将被合并覆盖: rest-service/src/main/java/package/HealthCheckDAOImpl.java,请提交您的更改或在合并之前保存它们。

我是不是错采樱桃了?此外,请建议任何修改,以使此脚本健壮。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-26 07:35:59

正如@小说家的评论中所指出的那样,你的选择是错误的。默认情况下,git日志将从最近一次提交输出到第一次提交。为此,可以将git log --oneline输出中的提要输入到tac,或者使用--reverse标志:

代码语言:javascript
复制
git log --oneline | tac
git log --oneline --reverse

第二个选项显然更好,因为这可以确保逐行输出,而第一个选项(使用tac)需要一次输入所有输入。

另外,当您执行git checkout -b $branchname时,因为您正在从Master中创建一个新的分支。

当您这样做时,当前分支的所有历史记录都是从中选择的。

因此,您需要创建一个孤立的git分支,like mentioned here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28735942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档