在 make 上提交 git

发布于 2024-12-10 22:46:47 字数 341 浏览 0 评论 0原文

我正在编写一个 C 程序并使用 git 跟踪我的源代码。

每次运行我的 makefile 时,我都需要提交我的构建。 (是的,我知道这不是一个理想的事情或“聪明”的想法,但我必须为学校这样做。)

我如何使用我的 make 文件中的日期注释将我的程序提交到我的 git 存储库? 我应该使用 shell 脚本吗?

下面是我的 Makefile

BUILDID=$(shell date +%Y%m%d-%H:%M:%S)
CFLAGS=-Wall -g

all: myprogram

clean:
    rm -f *.o
    rm -f myprogram

I'm writing a program C and tracking my source with git.

Every time I run my makefile I need to commit my build.
(Yes, I know this isn't an ideal thing to do or 'smart' idea but I have to do this for school.)

How would I commit myprogram to my git repo with the comment of date from my make file?
Should I use a shell script instead?

Here is my Makefile below

BUILDID=$(shell date +%Y%m%d-%H:%M:%S)
CFLAGS=-Wall -g

all: myprogram

clean:
    rm -f *.o
    rm -f myprogram

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一身仙ぐ女味 2024-12-17 22:46:47

正如您在问题中承认的那样,这样做在很多方面都是没有意义的。但是,假设您想要使 git 存储库反映工作树中的所有更改(除了忽略的文件),您可以执行以下操作:(

.PHONY: all commit

BUILDID=$(shell date +%Y%m%d-%H:%M:%S)
CFLAGS=-Wall -g

all: myprogram commit

commit:
    git add -A .
    git commit -m 'Automatic commit of successful build $(BUILDID)'

clean:
    rm -f *.o
    rm -f myprogram

.PHONY 是 GNU make 特定的,这意味着它的依赖项不是真正的目标。)

There are lots of ways in which doing this doesn't make sense, as you acknowledge in your question. However, assuming that what you want is to make your git repository reflect all the changes in your working tree (apart from ignored files), you could do the following:

.PHONY: all commit

BUILDID=$(shell date +%Y%m%d-%H:%M:%S)
CFLAGS=-Wall -g

all: myprogram commit

commit:
    git add -A .
    git commit -m 'Automatic commit of successful build $(BUILDID)'

clean:
    rm -f *.o
    rm -f myprogram

(The .PHONY is GNU make specific, meaning that its dependencies aren't real targets.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文