廖雪峰GIT课程笔记

1. git 简介

1. Git是目前最先进的分布式版本控制系统。

2. 创建版本库:cd到目录下 -> git init

3. 把一个文件添加到git仓库需要两部:git add <filename> --> git commit -m <commit message>  git add 分多次添加-->git commit 一次性提交

2. 时光机穿梭

1. git status 查看仓库状态

2. git diff 查看修改    :  读懂diff

2.1 版本回退

1. git log  显示从最近到最远的提交日志。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数

2. git reset --hard commit_id        HEAD指向当前版本,HEAD^上一个版本,HEAD^^上上个版本,HEAD~100往上100个版本

3. 在回退前可使用git log查看要回退的提交版本号,在重返未来时,可以使用git reflog来确定要回到未来的哪一个版本。

2.2 工作区和暂存区

1. 工作区:就是电脑里能看到的目录  版本库:工作区下有一个隐藏目录.git,这个不算工作区,而是git的版本库。git的版本库里存储了很多东西,其中最重要的就是暂存区(stage),还有git自动为我们创建的第一个分支master,以及指向master的一个指针:HEAD。

2. git add实际上是把文件提交到stage(暂存区),git commit是把暂存区的内容提交到当前分支。

2.3 管理修改

1. 为什么git比其他的版本控制系统更优秀,因为GIT管理的是修改,而非文件。

2. git commit只负责把缓存区里的内容给提交了,没有添加到缓存区内(git add)的内容不会被提交。

3. git diff HEAD -- <filename>可以查看工作区和版本库里最新版本的区别。

2.4 撤销修改

1. git checkout -- filename  撤销工作区的修改,让这个文件回到最近一次git add或git commit时的状态,该命令不会撤销已经add到暂存区(stage)的修改。

一种情况是文件修改后还没有被git add 到暂存区,那么撤销修改后文件就变成和版本库一样的状态。

一种情况是,文件已经被add到暂存区然后又作了修改,那么撤销修改就回到添加到暂存区后的状态。

2. 对于已经git add但没有commit的修改,可以使用git reset  HEAD <filename>来把暂存区的修改撤销掉(unstage)

2.5 删除文件

1. 在文件管理器中删除文件后,文件并没有从版本库中删除掉

如若确实要从版本库中删除该文件,可以先git rm <fileme> 然后git commit

若是误删,可以使用git checkout -- <filename>恢复

3. 远程仓库

1. 注册github账号后,去用户主目录下的.ssh文件夹下寻找公钥文件(id_rsa.pub)和私钥文件(id_rsa),如果没有使用如下命令生成:

ssh-keygen -t rsa - C "your email"

2. 将你的公钥文件中的内容(id_rsa.pub)拷贝到GitHub里面

登录GitHub-》Account Settings-》SSH keys-》Add SSH Key-》粘贴到对应位置

GitHub通过你的公钥来确定你的身份,只有通过你的私钥加密的文件才能正确通过你的私钥解密。

3.1 添加远程库

1. 将本地的仓库同步到GItHub上的一个远程库

在GitHub上“create a new repo”-》填入相关信息-》git remote add origin github项目名-》git push -u origin master(将本地分支内容推送到远程分支,并将本地分支和远程分支关联起来)-》以后可以使用git push origin master来向远程推送修改

3.2 从远程仓库克隆

1. git clone <远程仓库地址>

2. git支持ssh协议和http协议,也就有两种不同的远程仓库地址。通过ssh支持的原生git协议速度最快,https协议每次推送都要输入口令,但是在某些只开放了http端口的公司内部只能使用http地址。

4. 分支管理

4.1 创建与合并分支

1. 最初,master分支是一条线,Git用master指向最新的提交,用HEAD指向当前分支,即master。当我们创建并切换到一个新的分支dev时,Git创建一个新的指针dev,指向与master相同的提交,再把HEAD指向dev,表示当前分支在dev上。Git创建一个分支很快,因为除了创建一个dev指针,并且改变一下HEAD指针的指向,工作区的文件没有发生任何变化。在后续的修改和提交中dev指针不断向前移动,而master指针不变。合并时,最简单的方式就是直接把master指向dev的当前提交,因此合并也很快,也是只改改指针,而工作区的呢绒不变。

2. 

a. 创建dev分支并切换到dev分支:git checkout -b dev。这一句相当于两句,首先是创建dev分支:git branch dev 然后是切换到dev分支:git checkout dev

b. git branch 命令查看当前分支  git checkout dev/master 完成分支间的切换

c. git merge dev 合并指定分支(即dev)到当前分支

d. git branch -d dev  删除指定分支(即dev)

4.2 解决冲突

1. 

转载于:https://www.cnblogs.com/vincent93/p/9165853.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 廖雪峰git教程是一份数以万计程序员都曾参考的免费学习资料。这份教程通过简明易懂的方式讲解Git的基本知识,让初学者可以轻松地理解和学习。 这份教程的内容涵盖了Git版本控制系统的基本概念,如何从GitHub上克隆Git仓库、如何创建和管理分支、如何提交代码、如何处理冲突等等。阅读教程时,读者可以实践每一步操作,从而更好地理解Git的工作过程。 另外,廖雪峰的教程对于Git命令的讲解也非常详细,每个命令的参数和用法都被阐述清晰。此外,教程还提供了Git常见问题的解决方案,包含实用的技巧和经验分享,有助于读者更好地应用Git进行项目开发和管理。 总之,廖雪峰git教程是一份非常好的Git入门学习资料,鼓励每一个想要学习Git版本控制的程序员都可以尝试阅读和实践。 ### 回答2: 廖雪峰Git教程是一份详细的关于Git版本控制系统的入门教程,对想要学习Git的初学者而言是一份非常宝贵的资源。该教程以清晰明了的语言和生动的实例介绍了Git版本控制器的基本概念、使用方法和实践技巧,并且针对常见的问题和困惑给予详尽地解答和讲解。 该教程的内容从简单到复杂、从基础到高级逐步展开,每一章节都配有丰富的代码实例和可视化的流程图示,在让读者快速掌握Git的基本操作和特性的同时,还注意到了实际应用中的注意事项,很好地把理论知识和实际操作结合起来了。 廖雪峰Git教程PDF版本免费提供下载,方便读者在离线的环境下练习和学习,同时该教程还提供了在线版、视频教程、代码示例等资源,扩展了多种学习方式的选择。 总而言之,廖雪峰Git教程是一份全面、易于理解和实用的Git学习入门资料,对于想要学习或使用Git的人而言是必不可少的一份参考资源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值