Git基础(3):撤消操作和远程仓库的使用

撤销操作

commit –amend

有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。这是我们可以运行带有--amend选项的commit命令尝试重新提交:

// 修改最近一次提交的提交信息
$ git commit --amend -m "XXX"
// 向最近一次提交添加漏掉的几个文件
$ git add forgotten_file
$ git commit --amend

取消暂存的文件

如果想取消暂存区域的某个文件,可使用以下命令来取消暂存:

$ git reset HEAD CONTRIBUTING.md
Unstaged changes after reset:
M   CONTRIBUTING.md

在调用reset命令时,如果加上--hard选项,如$ git reset --hard HEAD~~,会导致分支向前移动,导致文件丢失。

使用rebase -i修改提交

如果要修改第一次提交,需使用以下命令:

$ git rebase -i --root

如果要修改最近n次提交,需使用以下命令:

$ git rebase -i HEAD~n

撤销对文件的修改

如果你对某个文件做了修改,但还没保存至暂存区域,这时,你想撤销修改,将它还原成提交时的样子,该怎么做呢?可使用以下命令进行执行:

$ git checkout -- CONTRIBUTING.md

注:你需要知道 git checkout -- [file] 是一个危险的命令,这很重要。 你对那个文件做的任何修改都会消失 - 你只是拷贝了另一个文件来覆盖它。 除非你确实清楚不想要那个文件了,否则不要使用这个命令。

远程仓库的使用

远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。

查看远程仓库

通过运行git remote命令,查看已经配置的远程仓库服务器,它会列出指定的每一个远程服务器的简写。

$ git remote
origin

注:远程仓库服务器的默认名称为 origin

可以通过指定选项 -v,显示需要读写远程仓库使用的Git保存的简写与其对应的URL。

$ git remote -v
origin  https://github.com/GongchuangSu/GitInAction.git (fetch)
origin  https://github.com/GongchuangSu/GitInAction.git (push)

添加远程仓库

通过运行 git remote add <shortname> <url> 指令,添加一个新的远程Git仓库,同时可以指定一个能够轻松引用的简写。

$ git remote add gs https://github.com/GrantSu/GitInAction
$ git remote -v
gs      https://github.com/GrantSu/GitInAction (fetch)
gs      https://github.com/GrantSu/GitInAction (push)
origin  https://github.com/GongchuangSu/GitInAction.git (fetch)
origin  https://github.com/GongchuangSu/GitInAction.git (push)

远程仓库的移除与重命名

通过运行 git remote rename 命令,可以修改一个远程仓库的简写名。如将gs重命名为grant,可以进行如下操作:

$ git remote rename gs grant
$ git remote
grant
origin

通过运行 git remote rm 命令,可以移除某个远程仓库:

$ git remote rm grant
$ git remote
origin

从远程仓库中抓取与拉取

通过运行 git fetch [remote-name] 访问远程仓库,从中拉取所有你还没有的数据。执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

$ git fetch gs
From https://github.com/GrantSu/GitInAction
 * [new branch]      master     -> gs/master

推送到远程仓库

通过运行 git push [remote-name] [branch-name] 命令,将要分享的项目推送到上游。如想要将 master 分支推送到 origin 服务器时,可使用以下指令:

$ git push origin master

注:只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。

查看远程仓库

通过运行 git remote show [remote-name] 命令,查看某一个远程仓库的更多信息。

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/GongchuangSu/GitInAction.git
  Push  URL: https://github.com/GongchuangSu/GitInAction.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

参考资料

https://git-scm.com/book/zh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值