接着以上的 Git 操作
撤销操作
Git 强大之处在于,就算你提交了,也可以后悔。
撤销最近一次提交
git commit --amend 如果文件提交后没有修改,就撤销提交说明,写上新的提交说明再提交,会覆盖掉之前的提交说明。
如果提交后忘记了暂存某些修改,可以先暂存修改,再加上 --amend 提交,提交就加上了这些修改。
已经提交了再修改,然后添加到暂存区,使用 --amend 提交,也会覆盖掉最近的一次提交。
取消已暂存和撤销工作区文件的修改
使用 git status 就可以看到方法。使用 git restore 文件名 可以撤销对工作区文件的修改。
将修改的文件添加到暂存区后使用 git status 可以看到,使用 git restore --staged 文件名 可以撤销已暂存。
使用远程仓库
远程仓库实在远端网络上的项目仓库,要与本地仓库区别开来,git commit 提交的是本地仓库。
查看远程仓库:git remote
查看远程仓库并显示远程仓库的地址:git remote -v
克隆一个项目仓库后,Git 使用 origin 标识这个原始远程仓库。
添加远程仓库:git remote add [shortname] [url]
其中 shortname 是给 url 对应的远端仓库取得一个名字(标识符)
从远程仓库抓取数据
git fetch remote-name:到远程仓库中拉取所有你本地仓库中还没有的数据。
需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
如果设置了某个分支用于跟踪某个远端仓库的分支,可以使用 git pull
命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。
实际上,默认情况下 git clone
命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确实有 master 分支)。所以一般我们运行 git pull
,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。
推送数据到远程仓库
将本地仓库的数据推送到远程仓库:git push [remote-name] [branch-name]
表示将本地 brance-name 分支推送到远端 remote-name 仓库
如果在推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送(Git 是分布式版本控制,本地仓库保存了完整的远程仓库信息,和远端仓库是一致的)。
查看远程仓库信息
git remote show [remote-name]
:查看某个远程仓库的详细信息
远端仓库的重命名和删除
git remote rename old new :将远程仓库名从 old 修改为 new
git remote rm remote-name :删除远程仓库