Git教程学习(三)

7. 撤销修改

7.1. 对于还没有git add的修改,可以使用git checkout丢弃工作区的修改

$ git checkout -- readme.txt

readme.txt如果没有被git add,那么回到master库中的状态(即上一次git commit时的状态)

readme.txt如果已经git add了,又进行了修改,那么回到git add时的状态.

总的来说是回到最近一次git commit或git add时的状态.

7.2. 对于还没有git commit但已经git add的修改,可以用git reset HEAD file撤销修改

$ git reset HEAD readme.txt
Unstaged changes after reset:
M       readme.txt

此时的操作只针对这个git add的文件,与之前都是针对版本(git commit)有不同.这时相当于回到git add之前的状态.

7.3. 对于已经git commit的修改,可以使用git reset -- hard HEAD^回到上一个版本

8. 删除文件

8.1. 删除文件之后,要同步到版本库则使用git rm

该命令与git add相似,都是将工作区的修改放入暂存区(不过一个是添加操作,一个是删除操作)

$ git rm test.txt
rm ‘test.txt‘

8.2. 删除文件之后发现删掉了,要回退则使用git checkout -- test.txt

git checkout 的功能是用(master)版本库里的版本替换工作区的版本

$ git checkout -- test.txt

9. 远程仓库

git不仅可以在本地提供代码仓库的服务,它更可以提供一种分布式的代码仓库服务.将代码托管到分布式代码仓库服务提供商Github.这个你就可以在任何一台机器上重建已存在Github上的代码仓库了.另外,因为Github上免费的代码仓库服务是公开代码的.因此,你可以在上面找到很多别人的代码clone到本地.

使用Github的服务需要在Github注册帐号并将本地的SSH Hey提交给Github to make pair of  local repo and Github account

步骤如下:

第1步:创建SSH Key
$ ssh-keygen -t rsa -C "[email protected]"
上面的email地址要与你在github上的一致.
完成之后在.ssh目录下可以找到id_rsa与id_rsa.pub两个文件,pub文件是公钥,可以发给别人检测你用私钥(id_rsa)加密的内容

第2步: 登陆GitHub,打开“Account settings”,“SSH Keys”页面:
点击‘add ssh key‘,并把id_rsa.pub中的内容填入

10. 添加远程库

10.1 场景

你在本地建立了一个git库,需要在github上也建立同样的git库,然后将本地的内容同步到远端去.这样就可以在任何一台机器上对这个库进行修改了.

第1步: 登录github,Create a new repo
第2步: 输入repo name,点击create repository
第3步: 在本地repo目录下运行以下命令将远程repo与本地关联
$ git remote add origin [email protected]:michaelliao/learngit.git
第4步: 将本地库内容推送到远程,即将master推送到远端
git push -u origin master
这里的-u参数是将本地master与远程master关联

10.2 push master

在把本地master和远端origin关联之后只要使用以下命令就可以把本地的版本库推送到远端了

$ git push origin master

11. 从远程库克隆

11.1. 场景

已经有远程库了,需要从远程库克隆代码到本地.这里的远程库可以是别人的免费库,也可以是你自己的

11.2. 拉取

$ git clone [email protected]:michaelliao/gitskills.git

这条命令会在当前目录下创建gitskills文件夹作为工作目录.所以clone之前先请选好文件夹

时间: 2024-08-05 07:09:17

Git教程学习(三)的相关文章

廖雪峰Git教程学习笔记(一)

作者及其背景:仔姜,大三学生,幼儿园英语水平,熟系Linux文件基本操作(最基础的) 文章内容或许有些疏漏之处还望各位大佬见谅,如果构成侵权或出现其他问题,请联系我邮箱:[email protected],如果需要更全的知识请移步廖老师Git教程 学习内容来源:廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 感谢廖雪峰老师提供的教程 正文开始: Git简介 什

git教程学习集合

客户端集合: GitHub for Windows使用教程(一) GitHub for Windows使用教程(二) GitHub for windows使用教程(三) GitHub for Windows使用教程(四) 廖雪峰git命令行: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

Git教程学习(二)

教程来自: Git教程(廖雪峰的官方网站) 主要命令: $ git log #查看已提交内容 $ git log --pretty=oneline #查看已提交内容(紧凑版) $ git reset --hard HEAD^ #回退到上一版本 $ git reset --hard 3628164 #回退到版本3628164 $ git reflog #查看提交过的命令 5. 版本回退 5.1 repo会记录每次提交的版本,用户也可以随时回退到任何版本.比如以下三个readme.txt版本 版本1

廖雪峰Git教程学习笔记

廖雪峰git简单教程学习笔记 教程地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001.可以这样设计目录,在d:\reposisoty\ 在这个目录下面有很多的仓库.mkdir learngitcd learngit>>git init          #这样就把learngit 初始化成了一个仓库>>git status        #说明当前仓库的状态并

Git 教程(三):仓库与分支

远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方. 没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别.为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三--):远程仓库. Git是分布式版本

Git 教程学习

一.Git 安装 1.下载地址 https://git-for-windows.github.io/ 2.安装完成后,从开始菜单找到 "Git"->"Git Bash",弹出一个命令行窗口,证明Git安装成功 二.创建版本库 1. 这个仓库地址 /c/Users/Administrator/learngit 2.初始化一个 Git 仓库  命令 git init 3.把文件添加到版本库  命令  git add 在目录learngit 下新建一个文本文件 re

Git教程学习(五)

14. 解决冲突 14.1. 场景 当分支A和分支B在同一个文件上都有修改时会出现冲突.常见的情况是从master分支的基础上生成了新分支dev,然后在dev上进行了修改并add&commit了.后来在master上对同一个文件进行了修改,也add&commit了.这时合并两个分支的操作就会失败. $ git merge feature1 Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Aut

Swift学习笔记 - 教程学习三 集合类型 (Collection Types)

集合类型 (Collection Types) 本节及前面用到的for…in句型在后面的循环控制部分,if let 见基础篇.如果某些字符看不到,请到博客园来看原文.——新波 Swift提供了三种基本集合类型,数组(array).集合(set)和字典(dictionary).数组是一组按序排列的数据,集合是一组各不相同的无序数据,字典是一组与关键值相关联的无序数据.参见下图. 3.1 集合的可变性Mutability of Collections 与前面的字符串一样,赋值给变量的集合是可变的,赋

Git教程学习(四)

12. 分支管理场景 多人协同工作时,你在优化代码X,需要较长时间才能完成,未完成之前会影响整体代码的使用.于是写完的代码不能提交到版本库,提交就会影响别人使用整体的代码.不提交你就失去了git的版本管理功能. 于是需要分支,为你正在修改的代码建立分支,别人看不到.而你在自己的分支上工作,最后完成再合并到原来的分支 13. 创建与合并分支 13.1. 场景 在Git中,版本控制是靠指针.每个分支都有一个专用的指针.同时有一个HEAD指针指向主版本.实现的时候HEAD指针实际上是指向分支指针的,再