1、 git status
查看文件状态
2、git add
作用:跟踪新文件、暂存已修改文件当前版本快照、标记文件冲突已解决
注意:如果已经暂存后又修改了,需要再暂存一次才能在提交时把最新版本提交到仓库,所以最好在提交之前用git status查看一下是否所有修改文件都已经暂存完毕
3、git commit
暂存区域文件准备妥当就可以提交了,commit之前一定要用git status确保无误
运行git commit会进入文本编辑器,顶上是空行用来输入提交信息,下面是本次提交的文件信息,在顶上的空行输入提交信息,退出编辑器时,git会用自动用输入提交信息生成一次提交
也可以在git commit命令加-m参数,让提交信息和命令在同一行,不进入文本编辑器,一行命令搞定提交,格式:git commit -m '提交信息'(要加引号)
跳过暂存区域:git commit -a -m "提交信息",git自动把所有已跟踪文件暂存起来并提交
4、git push
将本地仓库代码提交到远程仓库
5、git pull
拉取远程仓库代码到本地并自动合并
6、git fetch
拉取远程仓库代码到本地,不自动合并,需要手动合并
7、git rm
git rm 文件名,移除文件,会取消跟踪并删除本地文件,然后执行commit操作,commit完成后取消跟踪,不再纳入版本管理(可以不add,直接commit就行,再add一次然后commit也没问题),如果只是使用rm -rf 文件名,只是删除了本地文件,文件还是处于跟踪状态,推荐用git rm
如果只是想取消跟踪,但不删除本地文件,用git rm --cached 文件名,比如忘记将文件加入.gitignore文件,将一大堆日志暂存起来时,可以用这个命令
8、git diff
git status显示文件状态,git diff显示文件具体哪些行发生了变化
git diff比较的是工作目录中当前文件和暂存区域快照之间的差异, 也就是修改之后还没
有暂存起来的变化内容
git diff --cached或git diff --staged可以查看已暂存的将要添加到下次提交里的内容
(cached和staged是同义词)
请注意,git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。
所以有时候你一下子暂存了所有更新过的文件后,运行 git diff 后却什么也没有,就是
这个原因。
9、git mv
git mv f1 f2,将f1命名为f2,一步到位,用git status可以看到文件前面有renamed,如
果直接用命令先对本地文件改名,需要三步,mv f1 f2,git rm f1,git add f2,效果一
样,也显示renamed
10、git log
查看提交历史,最新的一条在最上面
8、git commit --amend
撤销提交,如果提交后发现漏了几个文件或提交信息写错了,可以使用此命令重新提交。这个命令会将暂存区的文件提交
修改提交信息:提交后不做修改直接执行此命令(如果上次提交后未做任何修改马上执行了此命令,那么快照会保持不变,所改变的只是提交信息)
增加提交文件:git commit -m 'xxx';git add file;git commit --amend ,最终只会有一个提交信息,那就是第二次提交
11、git reset HEAD filename
取消暂存的文件,使用git status提示了这个命令,在后面可以用git别名来替代这个命令,用unstage,方便记忆和使用
12、git checkout -- filename
取消对文件的修改,将它恢复成上次提交的样子,同样,git status里有提示