使用 git2go 我在新克隆的目录上执行 AddAll() 和 CreateCommit()。Push() 工作正常,当我将遥控器克隆到另一个地方时,我得到了所有提交的文件。但是如果我调用git status第一个目录,那么我会得到:
(对不起德语,我没有正确的翻译,这意味着分支与起源/主人在同一位置,'gelöscht'手段'deleted'和'Unbeobachtete dateien'手段'unwatched files')
Auf Branch master
Ihr Branch ist auf dem selben Stand wie 'origin/master'.
zum Commit vorgemerkte Änderungen:
(benutzen Sie "git reset HEAD <Datei>..." zum Entfernen aus der Staging-Area)
gelöscht: .gitignore
gelöscht: html/.gitignore
gelöscht: images/.gitignore
gelöscht: json/.gitignore
gelöscht: pjs/.gitignore
gelöscht: pjs/test37.pjs
gelöscht: pjs/test37.png
gelöscht: sounds/.gitignore
Unbeobachtete Dateien:
(benutzen Sie "git add <Datei>...", um die Änderungen zum Commit vorzumerken)
.gitignore
html/
images/
json/
pjs/
sounds/
我期望的是以下内容:
Nothing to commit. No files changed. (or similar)
我的代码:
// Add
repo, err := git.OpenRepository(dir)
index, err := repo.Index()
err = index.AddAll([]string{}, git.IndexAddDefault, nil)
treeId, err := index.WriteTreeTo(repo)
tree, err := repo.LookupTree(treeId)
// Commit
sig := &git.Signature{
Name: userName,
Email: userName + "@" + beego.AppConfig.String("userdata::emailserver"),
When: time.Now(),
}
commitId, err := repo.CreateCommit("HEAD", sig, sig, message, tree)
// Push
remote, err := repo.LookupRemote("origin")
err = remote.Push([]string{"refs/heads/master"}, nil, sig, message)
(我把所有的错误处理都去掉了,让它更短)
万千封印
相关分类