在我们初始化好项目或克隆一个项目之后,我们就需要开始工作。修改文件,提交文件,循环往复。
此时我在文件 app.js 中新增了一些东西以及新增了一个 other.js 文件:
console.log('edit sth')
通常我们会检查一下现在,对当前项目做了哪些修改,特别是在项目庞大以及修改的文件多了以后,再提交之前进行查看是很有必要的:
git status
如上命令可以清晰的列出对项目的哪些文件做了修改:
确认以上文件确实需要提交,执行:
git add app.js other.js
当文件多的时候,一个个add 也很麻烦,所以 git add . (后面有一个点,下面还有类似的命令,区别见最后图片)可以把所有的文件加入索引,之后再 git status 一下:
文件变成绿色说明已经准备好备注信息,当然这一步的 git status 不是必须的。之后 git commit 备注一些这次修改的内容:
git commit -m "edit app.js & add other.js file"
git status (非必须,只是为了演示每次操作之后的样子)再看一下:
git add 和 git commit 这两个命令式 Git 工作流的最基础命令。每个Git 用户都需要了解和团队的 Git 工作流无关。
我习惯把 add 与 commit 比喻成仓库发货:
- 发货员把货加入(git add )货车。
- 管理人员盖章(git commit)确认无误准备发货。
另:
git add . vs git add -A vs git add -u等的区别 具体参考:
https://git-scm.com/docs/git-add
https://stackoverflow.com/questions/572549/difference-between-git-add-a-and-git-add
还有 git add . (假设没有在项目根目录执行该命令)只能把当前目录和子目录的文件加入索引,不能操作父级目录,而 git add -A 可以把当前项目的所有更改文件加入索引