Git时光穿梭&远程仓库

廖雪峰git

常用命令

  • mkdir -----创建文件夹
  • cd ----- 进入文件夹
  • pwd ----- 显示当前目录
  • cat -----查看文件内容
  • git init ----- 初始化一个文件夹,把它变成Git可以管理的仓库
  • git add -----把要提交的所有修改放到暂存区(Stage)
  • git commit -----把暂存区的所有修改提交到分支
  • git status -----工作区的状态
  • git diff ------查看修改内容
$ mkdir learngit    
$ cd learngit
$ pwd
/Users/michael/learngit

时光穿梭

版本回退

  • git log -----显示从最近到最远的提交日志,也就是历史版本
  • git log --pretty=oneline -----只显示版本号(较前一个命令方便阅读)
  • git reset --hard HEAD^ -----回到上一个版本(上上一个版本就是HEAD^^ ,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100)
  • git reset --hard 版本号 -----回到指定版本

回到了旧版本,又想回到最新版本怎么办?

  • git reflog -----用来记录你的每一次命令(从中找到之前的版本号)

撤销修改

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,版本回退,不过前提是没有推送到远程库。

删除文件

  • 文件管理器中删掉文件后,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了,现在你有两个选择:
    • 一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
    • 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:$ git checkout -- 文件名

远程仓库

SSH配置

  • cd ~/.ssh -----查看是否有ssh
    • 有,ls查看文件路径 ,re*删除所有文件,再生成
    • 没有(No such file or directory),输入ssh-keygen -t rsa -C xlayzheng@163.com生成ssh
  • id_rsa.pub公钥复制到github的setting——>SSH and GPG keys——>new ssh——>key中
  • GitHub允许你添加多个Key。假定你有若干电脑,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

先有了本地仓库想关联远程仓库

  • 先在github创建一个远程仓库,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。


    image.png
  • 从现在起,只要本地作了提交,就可以通过命令:$ git push origin master把本地master分支的最新修改推送至GitHub

先有了远程仓库想要在本地建一个镜像

  • 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
  • Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容