Skip to content

4-1.操作

在暂存区使用 git commit 后,就会将文件提交到本地仓库。

使用 git status 查看下当前状态:

这时,Git 提示我们使用 git push 将文件推送到远程仓库。远程仓库的建立需要看下节。

我们先额外说一点注意事项。

git push 实际上是 git push <name> <local>:<remote> 的简写形式。

其中 name 指代的是远程主机名,local 指代本地分支名,remote 指代远程分支名。

TIP

如果省略了 local 或者 remote,直接使用 git push <name> <branch> 的话,

是将本地的 branch 分支推送到远程的 branch 分支。

这一点与 git pull <name> <branch> 有区别。该指令是将远程的 branch 分支拉取到本地的当前分支。而不是本地的对应 branch 分支。

在终端直接使用 git push 时,可能会报如下错误:

它的意思是说,当前分支没有对应的上游分支

我们可以执行一次 git push --set-upstream origin master 来推送到远程仓库。执行之后,本地分支与上游分支就会绑定。后面我们就可以愉快的使用简写了。

TIP

使用 git clone <remote> 拉取远程仓库的话,上游分支与本地分支会自动绑定,使用 git push 不会发生上述警告。

4-2.撤销

在本地仓库,如果想要撤销操作的话,可以使用 git reset <commit id> 指令。

该指令有 3 条配置:

  • --mixed: 回退的版本会放在工作区
  • --soft: 回退的版本会放在暂存区
  • --hard: 回退的版本会丢弃

指令总结

shell
# 推送本地分支至远程分支
git push <name> <local>:<remote>
# 本地分支与上游分支绑定
git push --set-upstream <name> <local>:<remote>

# 撤销本地仓库文件
git reset <commit id> --mixed/soft/hard