Git教程总结
来源:互联网 发布:手机淘宝安全中心在哪 编辑:程序博客网 时间:2024/06/05 10:04
前言
今天就看了廖雪峰老师的Git入门教程,还没看完,只看完了一半。现总结如下(2016-3-5)
创建版本库
git init:将目录变成git可管理的仓库
git add:将文件的修改存入暂存区(git add与git commit的区别是:git add是将文件的修改存入暂存区,暂存区可以接受各种文件的修改,这样我们可以多次使用这个指令来挑选出我们需要提交的所有修改放入暂存区中;而git commit是将暂存区中的所有修改,一次性(原子性)提交到版本库中)
git commit:将暂存区中的所有文件的修改一次性(原子性)地提交到版本仓库中
时光穿梭机
git status:查看当前仓库的状态
git diff:查看两个文件的不同
git log:显示从最近到最远的提交日志(要输出结果好看一点,请加上--pretty=oneline
参数)
git reset –hard commit_id:穿梭到commit_id指向的版本处(HEAD指向的是当前版本,上一个版本HEAD^,上上版本HEAD^^,往上100个版本HEAD~100)
git reflog:查看历史命令,以便确定要回到未来的哪个版本
工作区和暂存器
关于工作区和暂存区的概念,请参考原文
管理修改
每次修改,如果不add到暂存区,那就不会加入到commit中
撤消修改
git checkout -- readme.txt
情况一:文件被修改后没有被放入暂存区,现在撤消修改后就回到和版本库一模一样的状态。
情况二:已经添加到暂存区后,又做了修改,现在,撤消修改就回到添加到暂存区后的状态。
总之,该命令就是让这个文件回到最近一次git commit
或git add
的状态。
警告:版本回退的条件是你还没有把本地的版本库推送到远程。如果你已经推送了,那么就惨了。
总结:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
删除文件
在你add并commit一个文件之后(如果你只是add,并没有commit,那么你只需要按照上面的场景2进行操作即可),你得一次执行如下命令:
rm file(删除工作区的内容)
git rm file(删除文件在暂存区的更改)
git commit(将版本库和暂存区同步)
如果你只是删错了,那么那你只需要使用 git checkout -- file
命令来恢复工作区的文件
远程仓库
自己去网页版的github或者coding创建仓库。然后在git bash中关联并推送
添加远程仓库
要关联一个远程库,使用命令 git remote add origin git@server-name:path/repo-name.git
关联后,使用命令 git push -u origin master
第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令 git push origin master
推送最新修改。
从远程库克隆
要克隆一个仓库,首先必须知道仓库的地址,然后使用 clone
隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
创建和合并分支
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch branch-name
切换分支:git checkout branch-name
创建+切换分支:git checkout -b branch-name
合并某分支到当前分支:git merge brach-name
删除分支:git brach -d branch-name
- git教程总结
- Git教程总结
- Git使用教程总结
- 廖雪峰Git教程学习总结
- 一个前辈总结的Git教程
- 廖雪峰git教程简明总结
- git总结(根据廖雪峰教程)
- Git教程
- git 教程
- git 教程
- git 教程
- git 教程
- Git 教程
- Git教程
- Git教程
- git教程
- git教程
- Git教程
- 基于SystemBarTint快速打造沉浸式状态栏
- 输入流重复读取问题,解决InputStream引发的空指针问题
- 前端学习总结(六)Bootstrap
- Spring tool suite 快速创建Spring MVC 项目
- HDU 2547 无剑无我 (大水题)
- Git教程总结
- 基础母函数模版
- 前端学习总结(七)Angular.js——以数据交互为核心的前端框架
- hdoj--5100--Chessboard(数学推理)
- 前端学习总结(八)NodeJS——前端工程师通向后端的里程碑
- android中SQLlite数据库中对应的SQL数据库的查询 query ,delete,insert
- iOS开发之字符串搜索包含
- Linux之解析鼠标input事件数据
- 蓝桥杯 神奇算式