我正在尝试使用 <ol>
{this.state.questions.map((question, index) => {
return (
<li>
<div key={uuid()}>
Question
{question}<br />
<button onClick={ () => this.removeItem(index) }>
Remove Question
</button>
Answer Choices<br />
{Array.from({ length: 4 }, () => (
<div key={uuid()}>
<input type="checkbox" />
<input type="text" onChange={this.handleChange} />
</div>
))}
</div>
</li>
);
})}
</ol>
将所有更改的文件添加到GitHub,但是它还会添加我在其他本地项目上所做的更改。理想情况下,应该添加同一项目的更改。
应如何解决?
运行git add .
时,我看到了git status
那些多余的文件。
图片:
答案 0 :(得分:0)
每个回购都在其自己的目录中。然后,当您cd myproject
并运行git add .
时,它只应添加此存储库中更改的文件。
答案 1 :(得分:0)
通过Project,如果您是指同一仓库中的其他文件目录,则应使用以下命令之一来满足您的需求
对于 Git版本2.x
git add -A
阶段全部
git add .
进行新的和修改的阶段,未删除
git add -u
阶段已修改和删除,没有新的
详细信息:
git add -A
等效于git add .; git add -u
。
关于git add .
的重点是,它会查看工作树并将所有这些路径添加到已分阶段的更改(如果它们已更改或是新的且未被忽略),它不会分阶段执行任何“ rm”操作
git add -u
查看所有已经跟踪的文件,并对这些文件进行更改(如果它们不同或已被删除)。它不会添加任何新文件,只会将更改转移到已跟踪的文件中。
git add -A
是完成这两项操作的便捷捷径。
您可以使用以下类似方法测试差异(请注意,对于Git 2.x版,git add .
git status
的输出将有所不同):
git init
echo Change me > change-me
echo Delete me > delete-me
git add change-me delete-me
git commit -m initial
echo OK >> change-me
rm delete-me
echo Add me > add-me
git status
# Changed but not updated:
# modified: change-me
# deleted: delete-me
# Untracked files:
# add-me
git add .
git status
# Changes to be committed:
# new file: add-me
# modified: change-me
# Changed but not updated:
# deleted: delete-me
git reset
git add -u
git status
# Changes to be committed:
# modified: change-me
# deleted: delete-me
# Untracked files:
# add-me
git reset
git add -A
git status
# Changes to be committed:
# new file: add-me
# modified: change-me
# deleted: delete-me
答案 2 :(得分:0)
根据您提供的图像,您似乎应该在Silencio目录中。 Git向您显示您有未跟踪的文件。
尝试一下:
cd ~/Silencio
git status
输出将显示该目录只有更改。
答案 3 :(得分:0)
我查看了您上传的图像,看来您的git设置很奇怪。
我看到您位于文件夹~/AndroidStudioProjects/ApiExample/
中。这是您的项目目录吗?
但是看起来您已经在主目录(即~/
)中初始化了一个git存储库,并且在当前路径中运行git status
时,它显示了与该主目录路径相关的所有内容。
在我看来,您不应该这样做,并且应该为每个项目维护一个独立的独立git存储库。
我建议解决此问题的方法是从家中删除.git
目录。我想您的主目录根目录中没有任何有效的项目吗?
首先将路径更改为主目录:
cd ~
然后在需要时对.git文件夹进行备份。
cp -r .git .git-backup
然后将其删除。
rm -rf .git
现在回到您的AndroidStudioProjects
,那里也不应该有git存储库。
cd AndroidStudioProjects
删除.git文件夹。
rm -rf .git
最后,转到您的ApiExample
项目文件夹,并在此处初始化一个新的git存储库。
git init
现在一切都很好。但是您应该知道,这只是清除混乱的建议。如果您的主目录或AndroidStudioProjects
目录中确实有一个有效的git存储库,则需要使用Git Submodules
。
希望有帮助。随时提出任何疑问。