git 从不同的目录初始化、添加、提交
git init, add, commit from a different directory
我正在编写一个 Lua 脚本来创建一个目录,在其中创建一些文件并初始化 git,将这些文件添加到其中,最后提交所有内容。但是没有办法从 Lua 里面使用 cd
(你可以,但是不会有效果),所以我想知道是否可以 git init
一个目录, git add
一些文件,最后是 git commit -a -m "message"
,而工作目录是所需目录之上的目录。
编辑:-C
有效,谢谢大家。对于任何想知道的人,在 Lua、cd
"resets" 调用 os.execute
结束后。因此,os.execute("cd mydir"); os.execute("git init");
不会按预期工作。要让它工作,请使用 os.execute("cd mydir; git init;");
.
按照关于 -C 的评论中的提示,我做了:
git init newStuff
Initialized empty Git repository in c:/fw/git/initTest/newStuff/.git/
在目录 newStuff(我已经创建)中创建 git 回购协议
然后我将两个文件添加到 newStuff,并从它的父文件中使用 -C
git -C newStuff/ status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
new1
new2
nothing added to commit but untracked files present (use "git add" to track)
我看到了新文件。现在添加并提交它们:
git -C newStuff/ add .
git -C newStuff/ status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: new1
new file: new2
git -C newStuff/ commit -m"initial"
[master (root-commit) bfe387b] initial
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 new1
create mode 100644 new2
shell 上的示例:
#!/bin/sh
dirPath=some/dir/path
mkdir -p $dirPath
touch $dirPath/newFile
git init $dirPath
git -C $dirPath add .
git -C $dirPath commit -a -m "Initial commit"
git -C $dirPath log
我正在编写一个 Lua 脚本来创建一个目录,在其中创建一些文件并初始化 git,将这些文件添加到其中,最后提交所有内容。但是没有办法从 Lua 里面使用 cd
(你可以,但是不会有效果),所以我想知道是否可以 git init
一个目录, git add
一些文件,最后是 git commit -a -m "message"
,而工作目录是所需目录之上的目录。
编辑:-C
有效,谢谢大家。对于任何想知道的人,在 Lua、cd
"resets" 调用 os.execute
结束后。因此,os.execute("cd mydir"); os.execute("git init");
不会按预期工作。要让它工作,请使用 os.execute("cd mydir; git init;");
.
按照关于 -C 的评论中的提示,我做了:
git init newStuff
Initialized empty Git repository in c:/fw/git/initTest/newStuff/.git/
在目录 newStuff(我已经创建)中创建 git 回购协议
然后我将两个文件添加到 newStuff,并从它的父文件中使用 -C
git -C newStuff/ status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
new1
new2
nothing added to commit but untracked files present (use "git add" to track)
我看到了新文件。现在添加并提交它们:
git -C newStuff/ add .
git -C newStuff/ status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: new1
new file: new2
git -C newStuff/ commit -m"initial"
[master (root-commit) bfe387b] initial
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 new1
create mode 100644 new2
shell 上的示例:
#!/bin/sh
dirPath=some/dir/path
mkdir -p $dirPath
touch $dirPath/newFile
git init $dirPath
git -C $dirPath add .
git -C $dirPath commit -a -m "Initial commit"
git -C $dirPath log