美文网首页
Git 使用笔记

Git 使用笔记

作者: 一个理想主义的大兵 | 来源:发表于2017-04-08 21:05 被阅读0次

git pull 问题

  1. 今天在使用git pull拉取远程库版本时,出现如下错误:
fatal: No remote repository specified.  Please, specify either a URL or a
remote name from which new revisions should be fetched.
  1. 按照错误提示,使用git pull con master注:con是建立的远程库连接,即git remote add con git@github.com:MrCheJinYing/Concurrency
    出现如下错误提示:(错误还原不出来了,大概是下面这个意思)
fetal:  exit unrelated-histories
  1. 用如下命令解决问题:
    git pull con master --allow-unrelated-histories

git与远程库(remote repository)连接的方式

  1. 与远程库建立授权关系后(ssh-keygen -t rsa -C "youremail@example.com"),可以直接git clone git@github.com:username/repositoryName.git

    此操作会自动建立本地库与远程库、本地主分支(master)与远程主分支(master)的联系,之后的pull和push操作即可进行,不需额外的操作

  2. 远程建立repository后,本地建立repository并推送,需要手动建立库、分支的联系

    • 授权:ssh-keygen -t rsa -C "youremail@example.com"
  • 添加远程库:git remote add origin(任意名字) git@github.com:username/repositoryName.git
    • 建立分支关系:git branch --set-upstream-to=origin/master(远程分支) master(本地分支)
    • git pullgit push origin master
  1. 过程中有其他错误,可根据提示灵活处理

git branch

  1. 查看分支状态:
    • 本地与远程: git branch -va
    • 查看本地分支:git branch
    • 查看远程分支:git branch -r
  2. 删除分支:
    • 删除本地分支:git branch -d [branch-name]
    • 删除远程分支:git branch -dr [origin/branch-name]

git commit 撤销后的恢复

一个意识:一些操作(merge、reset、revert等)都是针对本地库,而不是肉眼能看见的工作区,不要把工作区的当成本地库!

commit操作后,想撤销本次的变动(reset操作并不安全,会造成版本丢失)

  • git reset head^:撤销commit提交,本地库恢复到上一个版本,工作区不变
  • git reset --hard head^:撤销commit提交,本地库和工作区同时恢复到上一个版本

git status

用法:列出未追踪的文件、本地库与工作区之间的差异,追踪git addgit commit进展

处理工作区与本地库的差异

git checkout 不仅仅有切换分支的功能

工作区 —> 本地库:git checkout [filename]

本地库 —> 工作区:git add [filename] git commit [filename] -m "commet"

git rm

  • git rm file
  • git rm —cache file
  • git rm —cache -r directory

清除工作区,回到最近的版本

下面的例子要删除所有工作目录下面的修改, 包括新添加的文件. 假设你已经提交了一些快照了, 而且做了一些新的开发

  • git reset --hard
  • git clean -df

运行后, 工作目录和缓存区回到最近一次commit时候一摸一样的状态,git status会告诉你这是一个干净的工作目录, 又是一个新的开始了!

git checkout

  • 检出新分支

    git chekcout -b branch_name

    等同于以下两步操作

    git branch brach_name git checkout branch_name

git revert

这条命令用于分布式代码管理的回滚

主要区别于git resetgit reset <commit>,会将该版本之前的版本全部抹掉。这样在多人合作的模式下,如果我们想回滚远程主分支中的代码,会抹掉其他人的提交,相当危险。

git revert <commit>:撤销某个版本的提交,即只撤销这个版本的提交(这个版本提交了什么就撤销什么),并生成一个新的版本,原版本依然保留。这个新版本只提交到了本地库,还需要git push到远程仓库,才能完成远程仓库代码的回滚。

Reference : 回滚错误修改

相关文章

  • Git book

    目录 git community book git入门 git笔记 git 用法 git安装使用手册 git命令大...

  • Git与Git flow使用笔记

    使用Git的一些真实的使用笔记,这不是理论,而是真实的使用过程中的一些笔记 基础Git与流程 git init 初...

  • Git

    Git使用笔记 下载(Window版):https://git-for-windows.github.io/ 安装...

  • Git常用命令

    本文作为平日使用git的笔记 查看文件状态: $ git status //查看文件状态 存储文件: $ git ...

  • Git入门及常用方法

    Git学习笔记 关于 Git 的背景知识 Git 是什么Git——分布式版本控制系统,Linus使用C编写 Git...

  • **git** 使用笔记

    git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...

  • 2019-10-25

    git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...

  • Git教程笔记

    笔记20170207:Git教程 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步:...

  • 2019-07-12

    Git使用笔记 0、先将工作分支的内容提交 git add . git commit -m "说明文字" 1、切换...

  • Git学习笔记(廖雪峰)

    Git学习笔记(廖雪峰) 创建版本库 小结 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库...

网友评论

      本文标题:Git 使用笔记

      本文链接:https://www.haomeiwen.com/subject/mnkrattx.html