一、下载安装

windows:

https://git-for-windows.github.io/,下载文件后一路next

linux:

# ubuntu,debian#
$ sudo apt-get install git

#centos,redhat系统
$ yum install git

二、使用

1、在开始菜单里找Git Bash

2、自报家门

3、cd进入到你要管理的文件夹下

git init

这个命令会将此文件夹变成版本库

4、新建文件

新建文件以后git status查看,会发现文件是红色,处于待提交状态

5、提交文件

//将 index.php文件提交到暂存区
git add XXX//将 index.php文件提交到版本库,-m后是说明
git commit -m "新建XXX"

6、修改文件

命令同提交,先add再commit,提交完了以后工作区会是干净的

7、删除文件

git rm xxxgit commit -m "删除了XXX"

8、查看日志

一行展示

git log --pretty=oneline

9、版本管理

//回退到f5616版本,根据版本号切换
git reset --hard f5616

8、将本地代码推到远程仓库

10、配置ssh公钥免密推送

a.获取ssh地址

b.查看仓库地址:git remote -v

如果有的话将其删除:

命令:git remote remove <远程库名>
示例:git remote remove origin

c.配置ssh格式的远程仓库地址

git remote add origin git@github.com:AiMovie/ceshi.git

d.创建ssh key

ssh-keygen -t rsa -C "git邮箱",一直回车,不用输入密码.完成后,可以在用户主目录里找

到.ssh目录,内有id_rsa和id_rsa.pub两个文件. id_rsa是私钥,id_rsa.pub是公钥.
这两把钥匙是成对的,可以让分别持有私钥和公钥的双方相互认识.

/c/Users/young/.ssh/便生成了公钥

若是linux,则cat ~/.ssh/id_rsa.pub查看

如果要生成为其他的项目生成ssh公钥,则输入:/c/Users/ACER/.ssh/id_abc (这里的地址是我自己,要换成你们自己的 id_abc就是我起的文件名)

这样便不会被覆盖

e.将其复制到github添加

f.push本地仓库到远程,就不用填密码了
git push origin master

11、拉取别人github的代码

git pull 地址

三、Git与SVN的不同

Git为分布式版本控制器,SVN为集中式

中心的svn服务器中,存储着代码版本的变迁,及日志.

而git每个开发者的电脑上,都有完整的版本,日志,及分支信息.

但开发者不依赖于服务器,可以查看日志,回退版本,创建分支.

本质的区别在于:
git服务器是供开发者"交换"代码,服务器数据丢了没关系,分分钟再建一台.
svn的服务器,不仅交换代码,还控制着日志,版本,分支.服务器数据丢了就完了.

ps:

1、忽略文件

laravel项目忽略文件是.gitignore,把要忽略的文件或者文件夹放在里面就可以了

2、多人协作

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin branch-name推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

3、改bug

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

把分支代码拉到本地    git clone -b my-branch https://git@github.com/username/myproject.git

4、分支管理

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

5、版本回退

1、git reflog master (查看本地master分支历史变动纪录)

2、git reset --hard <COMMIT_ID> (恢复到之前位置) git reset --hard master@{1}

转载于:https://www.cnblogs.com/lamp01/p/7257374.html

Git版本管理工具的使用相关推荐

  1. git版本管理工具学习

    1.git版本管理工具作用:a.备份b.像时光机一样回到过去,防止错误删除c.多端共享d,独当一面和团队协作 2早起的版本管理工具:CVS,集中式管理工具 github是git的一个托管网站:GitH ...

  2. Git——版本管理工具(一)

    Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  -- The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背 ...

  3. Git 版本管理工具(一)

    Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  -- The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背 ...

  4. Git版本管理工具使用详细介绍

    一.引言 跟你们吐槽一下,最近小编的工作制度也改成996,怎么说? 是好是坏呢? 网上很多小伙伴也在吐槽,刚开始小编也是挺反感的,毕竟之前周末一些坚持的习惯,因此都需要改变. 既然公司选择了996,我 ...

  5. Git 版本管理工具命令速查

    转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态  git co ...

  6. git版本管理工具用法介绍

     1. 概要 Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,对于软件开发领域来说版本控制是最重要的一环,而 Git 毫无疑问是当下最流行.最好用的版本控制系统. 2. ...

  7. Git版本管理工具超详细(下载、安装、远程仓库的搭建、git指令)

    目录 01_Git概述 02_GIT相关概念(掌握) 03_Git下载与安装 04_Git本地操作-初始化工作区 05_Git本地操作-add与commit 06_Git本地操作-差异比较 07_Gi ...

  8. git版本管理工具push失败解决方案参考

    git clone xxx@xx 版本后,edit某文件,commit之后,点push,提示报错. 可能有以下原因: 1.权限不够,远程仓库的文件夹(比如/home/git)下面的文件所属用户非git ...

  9. Git版本管理工具常用命令整理和说明

    作者:心叶 时间:2018-04-20 23:20 工作区:就是你在电脑里能看到的目录. 暂存区:英文叫stage, 或index.一般存放在 ".git目录下" 下的index文 ...

最新文章

  1. docker 逃逸 简介
  2. guava-cache设计与实现
  3. 数据挖掘-数据预处理的必要性及主要任务
  4. 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
  5. 推荐9部让你看到酣畅淋漓的复仇电影
  6. GPS定位冷启动和热启动的区别
  7. 设计模式再学习之单例模式
  8. 开课吧:学习C语言应该从哪些方面入手?
  9. leetcode刷题正则表达式
  10. 8.Postman中发送请求被拦截(证书问题)
  11. openai-gpt_OpenAI的GPT-3:货物崇拜编程人员的终结
  12. 机器人学随堂笔记(1)ᝰ机器人简介、构成和分类
  13. Sublime LiveReload
  14. 帝国cms安装 mysql支持错误_帝国CMS安装时 mysql出错。
  15. JAVA 并发编程学习总结
  16. 信源剩余度的计算java_冗余度计算公式
  17. CSS 中的 initial、inherit、unset、revert、all
  18. 2020年厦门市技能大赛-网络搭建与应用竞赛-正式赛卷(一)技能要求(附脚本配置)
  19. clickhouse创建物化视图SQL语句
  20. AVI常用的压缩算法

热门文章

  1. v8学习笔记(七) 执行过程
  2. 解决ActionBar中不显示item的问题,item显示在overflow中
  3. Jmeter分布式部署如何操作
  4. Java集合—Deque Stack
  5. Python时间库—datetime的详解及使用
  6. [P2387魔法森林
  7. Fiddler插件开发 - 实现网站离线浏览功能
  8. css :after :berfor
  9. 电子工程师过去1年的点点滴滴
  10. 两个学习英语的好软件