git快速入门-笔记(MD格式)

http://www.php.cn/code/9058.html
git是一种版本控制器。原来就是针对linux系统。

下载安装

- https://git-scm.com/download/
- Git Bash git命令行界面
- Gi GUI 图形界面操作
- **Ubuntu,debian系统**:sudo apt-get install git
- **centos,Redhat系统**:yum install git

git使用前配置

- git config --global user.name 你的名字 #是谁
- git config --global user.email 你的email #怎么联系

代码管理

创建版本库
- cd e:/
- mkdir test
- git init #版本库初始化,会生产.git
**注意:**
- 不要把仓库建在中文目录下
- .git是个隐藏目录,不要随意修改
添加(提交)新建文件
在上面创建本地库e:/test下
创建文件,比如:index.php
- git status 查看仓库状态
- git add index.php
把index.php从**工作区**提交到暂存区
- git status
**每次提交操作后,都要查看状态**
- git commit -m "提交文件说明"
把index.php提交到**版本库**
分区操作及状态变化
- 分区:工作区(开发)-->暂存区-->版本库
- 状态:红色显示文件--> 绿色 -->没有显示
- 操作:-----git add 文件--git commit -m "说明"
```
graph LR
A[工作区] --git add--> B[暂存区]
B --git commit -m -->C[版本库]
```
修改文件
- 修改文件的提交和新增文件提交操作流程是一样的
删除文件
- git rm foo.php
#文件已经提交到版本库的文件删除
- git commit -m “删除r.txt”
#删除文件提交确认
远程仓库 管理
码云 https://git.oschina.net
github https://github.com
所有git模式的在线网站都适用
create a new repository on the command line,远程提交
- echo "# test" >> README.md
- git init
- git add README.md
- git commit -m "first commit"
- git remote add origin https://github.com/xxx/test.git
- git push -u origin master
push an existing repository from the command line, 远程提交
- git remote add origin https://github.com/xxx/test.git
- git push -u origin master

团队合作开发

在线设置 参与者 collaborators
default branch
- **The default branch is considered the “base” branch in your repository,
against which all pull requests and code commits are automatically made,
unless you specify a different branch.**
- 译文:默认的分支被认为是存储库中的“基础”分支,所有的拉请求和代码提交都是自动生成的,
除非您指定了一个不同的分支。
#### Protected branches
- Protect branches to disable force pushing, prevent branches from being deleted,
and optionally require status checks before merging.
- 保护分支以禁用强制推送,防止分支被删除,并且在合并之前需要进行状态检查。
#### 将远程服务器仓库更新过的代码拉到本地仓库
- git pull origin master (origin需要定义)
### git的特点
#### 分布式版本控制器
- 每台电脑就是一台服务器
- 使用可以不用联网(联网是为了相互同步)
#### 工作区和版本区
```
graph LR
A[工作区] --git add--> B[暂存区]
B --git commit -m -->C[版本库]
```
#### 改动日志
- git log #查看详细日志
- git log --pretty=oneline #单行查看日志
#### 版本切换
- git reflog #查看版本变化
- git reset --hard HEAD^ 切换到前1版本
- git reset --hard HEAD@{3} 切换到指定版本
- git reset --hard 988dea2 切换到指定版本
### 分支管理
- master即为代码的主干分支,这里代码不要轻易修改,尽量修改分支,然后合并到master;
#### 查看分支
- git branch #查看所有分支
* master #带*的分支为当前分支;
- git branch dev #创建dev分支
#### 切换分支
- git checkout dev #切换到dev分支
切换分支的新增和修改文件,必须进行添加git add和提交git commit -m;
- git branch #再次查看分支
- git checkout master #再切换到master
#### 合并分支
- git checkout mater #切换到主分支
- git merge dev #合并dev分支到当前master主干分支
- 合并分支可能会有特定文件的CONFLICT(content)冲突提示; 并显示自动合并失败
(automatic merge failed) 如果多个分支修改了同一个文件,合并后, 该文件可能存在冲突,
手动修改一下文件即可
### 远程仓库
(方便操作,实际上可以直接使用远程库地址)
#### 查看远程仓库
- 查看远程仓库:git remote
- 查看仓库地址: git remote -v
#### 添加远程库别名
- git remote add <远程库名> <远程仓库地址>
- 如: git remote add origin https://git.oschina.net/xxx/test.git
#远程库名一般叫origin,但并非强制,可以自定义
#### 删除远程库别名
- git remote remove <远程库名>
- 如:git remote remove origin
#### 修改远程库别名
- git remote rename <旧名称> <新名称>
### 公钥登陆
push本地仓库到远程时,总要输入用户名/密码,很不方便. 配置公钥,可以避免平方输入用户名和密码.
1. 配置ssh格式的远程仓库地址
-git remote add 远程仓库名 远程仓库地址
-git remote add gitaddr git@git.oschina.net:xxx/test.git
2. 创建ssh key
ssh-keygen -t rsa -C "youremail@example.com", 把邮件地址换成自己的邮件地址,一直回车,
不用输入密码,完成后,可以在用户主目录里找到.ssh目录,内有id_rsa和id_rsa.pub两个文件.
id_rsa是私钥,id_rsa.pub是公钥.
这两把钥匙是成对的,可以让分别持有私钥和公钥的双方相互认识.
3. 把公钥放在服务器
用记事本打开id_rsa.pub,复制公钥内容.
登陆git.oschina.net,ssh公钥处填入公钥并保存.
这样可以免密码.

git快速入门-笔记(MD格式)相关推荐

  1. git 快速入门笔记

    ## 第1章 给心急者 ### 1.1 git是什么 git是一种版本控制器. 更直白说,团队开发时,管理代码用的软件. 面试时,容易被问到的一个东西. ### 1.2 安装 git在Linux,Ma ...

  2. 【机器学习】Python 快速入门笔记

    Python 快速入门笔记 Xu An   2018-3-7  1.Python print #在Python3.X中使用print()进行输出,而2.x中使用()会报错 print("he ...

  3. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  4. Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)

    Git快速入门篇-- Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程) 前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问 ...

  5. Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库

    Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git rese ...

  6. Nginx快速入门笔记

    Nginx快速入门笔记 01.Nginx简介 架构:没有什么是加一层解决不了的 什么是Nginx? Nginx是一个高性能的HTTP和方向代理web服务器,同时也提供了IMAP/POP3/SMTP(邮 ...

  7. Pytorch快速入门笔记

    Pytorch 入门笔记 1. Pytorch下载与安装 2. Pytorch的使用教程 2.1 Pytorch设计理念及其基本操作 2.2 使用torch.nn搭建神经网络 2.3 创建属于自己的D ...

  8. OpenCV4 快速入门笔记

    OpenCV4 快速入门 (学习笔记 全) Excerpt <OpenCV4 快速入门>学习笔记 第1章 基础知识 1.1 基础结构介绍 作者博客https://blog.csdn.net ...

  9. python初学者代码示例_Selenium 快速入门笔记和代码示例(Python版)

    链接 文档链接: 安装 selenium 模块和 Chrome 浏览器驱动 步骤: 安装 Selenium 模块: pip install selenium 下载浏览器驱动(下载即可,无需安装,使用时 ...

最新文章

  1. c语言:婚礼上的谎言
  2. 【spring boot】url中传递session id
  3. 消息发送样例介绍和步骤分析
  4. linux 查看shell脚本执行了多长时间
  5. 鸿蒙霸榜 GitHub,从最初的 Plan B 到“取代 Android”?
  6. Python使用PyQT制作视频播放器
  7. 高效向前“零延迟” 数据中心IT自动化势在必行
  8. python标准化输出
  9. php 不同数据库的调用方法,php连接不同数据库的几种方法
  10. springBoot入门第一章springBoot第一个程序
  11. 在保护继承中基类的共有成员_c++中的继承
  12. MySQL 5.7.18的安装及主从复制(主从同步)
  13. shell中数组的使用
  14. mysql批量导出工具_sql数据库批量导出|
  15. winform直接控制云台_智云和快手发布重磅功能,手机云台升级,帮8成网民拍大片...
  16. 城市信息模型基础平台(CIM)产品白皮书
  17. 日志服务与日志分析工具
  18. 终于做了这个决定, 准备认认真真的学习java啦,
  19. 安卓系统或安卓机顶盒如何安装entware来搭建liunx系统环境
  20. sketchup技巧分享-如何利用组件创建无缝图案峥

热门文章

  1. bzoj4997: [Usaco2017 Feb]Why Did the Cow Cross the Road III
  2. 深度强化学习控制六足机器人移动个人学习笔记(一)
  3. Ubuntu系统连接Android真机测试
  4. html页面打印调用jqprint.js
  5. LightOJ 1198
  6. 傅里叶变换中的特征函数以及一些冲激函数的性质
  7. java 微信 摇一摇红包_如何开发微信摇一摇红包,摇一摇红包有什么作用
  8. 安装frida的遇到的坑
  9. 计算机未来就业讲座心得体会,计算机学习心得体会范文(精选3篇)
  10. CSS 预处理器语言Less