1、git add
git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
2、git commit
(1)git commit -m ‘注释’ 将缓存区内容添加到本地仓库
(2)git commit [file1] [file2] -m [message] 只提交指定的文件,并且不用执行add
注意文件不能只写个文件名,要带上路径
(3)git commit -am ‘message’ -am等同于-a -m
-a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区,
注意: 新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。
易错情况:使用git commit [file1] -m "message"命令后出现error: pathspec 'NewBeeMallApplication.java' did not match any file(s) known to git:
1、确保在当前工作目录或 Git 跟踪的目录范围内(也就是路径对不对)
2、确保文件名没有写错
3、文件尚未被 Git 跟踪:如果这是一个新文件,您需要先使用 git add test.java
将其添加到暂存区,然后再进行提交。
git commit进入编辑模式后先按esc,然后输入:wq!回车退出
3、git push
git push <远程主机名> <本地分支名> <远程分支名>: 将本地版本库推送到远程服务器,
git push origin master :如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
origin是远程主机,master表示是远程服务器上的master分支和本地分支重名的简写,分支名是可以修改的
git push origin :refs/for/master
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master
在 git push -u origin master
命令中, -u
选项的作用是设置上游分支(upstream branch)。
当使用 -u
选项时,它会将本地的 master
分支与远程仓库的 origin/master
分支建立跟踪关系。
建立跟踪关系后,后续执行 git pull
命令时,如果没有明确指定分支,Git 会默认从跟踪的上游分支获取更新并合并到当前分支。
例如,如果执行了 git push -u origin master
,之后再执行 git pull
,Git 就会自动从远程的 origin/master
分支获取更新并合并到本地的 master
分支。
commit后先拉后推,先pull一下再push
下图解释:本地A文件有改动,远程B文件也有改动,再本地提交后,需要先拉取远程的最新代码,这个操作不会使远程的把本地的覆盖掉,最后再把本地的修改推给远程
不先拉取直接推会出错:
4、如何查看文件是否被git跟踪?
-
使用
执行该命令后,它会显示当前工作目录中已修改、已暂存和未跟踪的文件列表。如果文件在跟踪中但未修改,它会显示为“unchanged”;如果已修改但未暂存,会显示为“modified”。git status
命令 -
使用
这个命令会列出所有被 Git 跟踪的文件。git ls-files
命令
例如,执行 git status
命令后,可能会看到类似以下的输出:
On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
NewFile.txt
nothing added to commit but untracked files present (use "git add" to track)
在这个示例中,NewFile.txt
就是未被跟踪的文件。