23.git简单使用
git:主要是为了收集命令
git客户端下载:
Git是GitHub开源社区的版本管理系统;
下载地址:https://git-scm.com/download/
Git的安装:一路使用默认设置进行安装即可,最后一步时选择将GitBash添加到桌面和快速启动菜单;
双击启动GitBash命令行工具;
@本地代码提交
在新建了代码文件和文件夹以后,使用git add xxx命令,可以将指定的文件和文件夹添加到缓存区;
缓存区是未受控代码和仓库代码的缓冲地带,缓存区中的文件可以随时撤销受控;
git add . 或git add -a 是添加目录下的所有内容到缓存区;
通过git rm –cached xxx命令可以撤销指定文件的受控状态,git rm -f xxx则是撤销受控并删除该文件;
通过git rm -r –cached xxx命令可以递归撤销文件夹的受控状态,git rm -r -f xxx则是递归撤销受控并删除该文件夹;
通过git commit xxx -m “提交日志”的方式,可以将缓存区中的代码提交到本地仓库;
通过git status可以查看当前目录状态

@版本日志
git log命令可以查看版本日志,日志记录了提交的序列号、作者和日期信息 ,
git log –pretty=oneline则是以单行样式显示版本日志
git diff 版本序列号1 版本序列号2:比较两个版本的区别,这里的–shortstat选项是以简短样式查看区别;
通过git xxx -h及git xxx –help可以查看相关命令的简版和网页详情版的帮助信息

@版本回滚
既然有了版本的序列号,我们就可以回滚到任意指定的版本了,其命令是:git reset –hard 版本号
版本序号还可以通过git reset –hard HEAD^来回退到最新版的上一版;
git reset –hard HEAD^^回退到最新版的上两个版本,这里^可以有任意多个,然而回退三个以上版本时,我们选择使用:git reset –hard HEAD~23来指定具体回退多少个版本;
版本回滚功能在修复代码错误,尤其是复杂或致命错误时具有显而易见的便利性;

@什么是SSH密钥配对
Git的本地仓库与远程仓库交互的方式主要有四种:关联、克隆、拉取、推送;
本地无论关联还是克隆远程仓库,都必须要先获得远程仓库的地址;
远程仓库的地址有两种格式可供选择,一种是ssh协议格式,一种是https协议格式;
以http格式进行关联或克隆的本地仓库,每次向远程推送时,都需要输入远程仓库管理员的邮箱和密码;
以ssh格式进行关联或克隆的本地仓库,如果想要和远程仓库进行推拉操作,则需要先完成SSH秘钥的配对;
SSH秘钥对(一把公钥+一把私钥)的作用是用作本地仓库和远程仓库通信的信物;
远程仓库持有开发者的公钥,本地仓库持有开发者的私钥,当公钥和私钥能够配对时,该开发者的本地仓库就可以和远程仓库进行推拉操作了




@概述
本地仓库同步远程仓库的方式有两种:关联、克隆;
关联或克隆远程仓库后,可以做拉取和推送的工作,通俗地说,就是下载和上传代码;
本地仓库关联远程仓库的命令是:git remote add origin 远程仓库地址,此时的本地仓库就拥有了远程仓库的版本信息了,接下来就可以与远程仓库进行拉取、推送等操作了;
克隆是直接把远程仓库的主分支内容连同版本信息一起复制到本地,其命令是:git clone 远程仓库地址;
拉取是将远程仓库的指定分支下载到本地仓库,其命令是:git pull origin 分支名
推送是将本地仓库分支同步到远程仓库,其命令是:git push origin 分支名;
@关联并推拉
# 进入本地仓库目录,这个目录是已经被git init过的
cd local_repo_path
# 关联远程仓库,远程的版本信息也一并被整合到了本地
git remote add origin your_repo_address
# 取消当前的远程仓库关联:
git remote rm origin
# 查看本地的远程连接(就是查看你关联了那几个线上的git仓库地址)
git remote -v
# 拉取远程主分支的代码到本地
git pull origin master --allow-unrelated-histories
# 提交所有未受控的代码
git add . commit . -m "xxx“
# 将本地仓库的代码(master分支下)推送到远程
git push origin master
# 如果前面拉取的动作报出 “拒绝合并不相干的历史”时,追加一个同意放行的参数即可# 即:
git pull origin master --allow-unrelated-histories
# 这种错误只有初次拉取时才会发生
@概述
分支的创建和管理是版本控制系统(VCS)的重要内容;
分支的存在使得团队成员之间既可以分工协作,又互不影响;
团队成员的日常工作是在各自的分支上代码、提交、推拉;
当工作分支有了阶段性成果时,再由一个主干分支去对它们进行一一合并,实现成果的合并
@分支与合并策略
日常的开发工作由不同成员在不同工作分支上分头进行,并行开发互不干涉;
dev分支不定期合并工作分支的阶段性成果;
dev分支通过不断合并工作分支,完成了所有需求后,提交测试;
master分支在dev分支测试通过后,对其进行合并,再复测一下就可以上线了;
1.0版本上线后,dev分支和众多工作分支再以相同的方式继续迭代开发2.0版本;
@相关命令
-----↓创建和切换分支-----
git branch // 查看所有分支
git branch 分支名 // 创建本地分支
git checkout 分支名 // 切换到指定分支
git checkout -b 分支名 // 创建并切换到分支
-----↓删除分支-----
git branch -d 分支名 //删除本地分支
git push origin --delete 分支名 // 删除远程分支
-----↓推拉分支-----
git pull origin 分支名 //拉取分支
git push origin 分支名 //推送分支到远程
git push --set-upstream origin 分支名 //推送分支
-----↓合并分支-----
git merge 分支名 //合并分支(要先checkout到主分支)
@案例介绍
# 关羽创建分支、工作、本地提交、push远程
git clone remote_repository_path
git checkout -b guanyu
git push origin guanyu
git add .git commit -am '关羽在本地提交’
git push origin guanyu
# dev分支合并关张并push远程
git pull origin devgit checkout dev
git merge guanyugit merge zhangfei
git push origin dev
# master主分支合并dev并push远程
git pull origin master
git checkout master
git merge dev
git push origin master
# 张飞创建分支、工作、本地提交、push远程
git clone remote_repository_path
git checkout -b zhangfei
git push origin zhangfei
git add .git commit -am '张飞在本地提交’
git push origin zhangfei
最后加一篇学习使用的博客:https://blog.csdn.net/liyayunwxc/article/details/10342573
LF和CRLF问题:
https://www.cnblogs.com/sminocence/p/9357209.html 博客里面写了解决办法
本地拉取其他分支代码:
git checkout -b dev origin/dev(远程分支名)
git pull origin dev 来去远程分支到本地
----------------------------------------------------------
方式二:
git fetch origin dev(dev为远程仓库的分支名)
git remote问题:
1.如何查看当前远程Git库源地址呢?
$git remote -v
$git remote -version
//以上两种方法都是查看当前Git库源地址的
2.这时如果你想修改当前的源地址:
$git remote set-url origin [GIT URL]
//orgin为当前源地址名,[GIT URL]为欲修改源地址
3.添加一个新的Git库源地址:
$git remote add [NAME] [GIT URL]
//[NAME]为新的Git库源地址名,[GIT URL]为新的git库源地址
4.删除一个Git库源地址:
$git remote remove [NAME]
$git remote rm [NAME]
//[NAME]为Git库源地址名
注意:其中删除源需要谨慎,到现在为止并没有找到恢复源的命令,除非你同事保存了,要不然没法找回
23.git简单使用的更多相关文章
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- git简单入门
git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...
- Git简单生成生成公钥和私钥方法
Git简单生成生成公钥和私钥方法 Git配置 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name “用户名” g ...
- 猫猫学iOS 之第一次打开Xcode_git配置,git简单学习
猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:错误 当第一次打开Xcode我们进行commit操作的时候会 ...
- Git简单多人协作
感谢廖雪峰老师,引自他的Git教程. Git简单多人协作 首先,可以试图用git push origin <branch-name>推送自己的修改: 如果推送失败,则因为远程分支比你的本地 ...
- git简单使用教程
git 的基本使用指令 我们先来简单熟悉一下 git 的简单使用的指令, 作为最基本的 git 指令一定要熟悉 12345678910111213141516171819202122232425262 ...
- Git简单介绍以及使用入门
Git Git:分布式版本控制系统, 此外还有 SVN (集中式版本控制系统) 下载地址(阿里云镜像) :CNPM Binaries Mirror (npmmirror.com) Git Bash : ...
- Git简单应用(1)
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 1.Windows安装git msysgit是Windows版的Git,从https://git-for-windows. ...
- GIT简单操作
以下只是简单的bash的操作命令,个人比较喜欢用gui 打开 git bash here git clone https://github.com/自己的名字/trunk git checkout + ...
随机推荐
- DQN算法原理详解
一. 概述 强化学习算法可以分为三大类:value based, policy based 和 actor critic. 常见的是以DQN为代表的value based算法,这种算法中只有一个值函数 ...
- 使用PowerShell 修改hosts
直接上代码 # author:lttr <www.cnblogs.com/GoCircle> # date:2019-08-09[CmdletBinding()] param ( [Par ...
- HTML笔记(三) 表格和列表
本篇记录表格 (table) 和有序列表 (ordered list) \ 无序列表 (unordered list) 的部分用法 1.表格table 表格标签 使用 <table> 定义 ...
- java8 stream多字段排序
注:转载请注明出处!!!!!!! 很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理 使用java8新特性,下面先来点基础的 List<类> ...
- Centos 7 下Gitlab 自启动设置
禁止 Gitlab 开机自启动: systemctl disable gitlab-runsvdir.service 启用 Gitlab 开机自启动: systemctl enable gitlab- ...
- Linux在线安装MongoDB
Mongo官网安装地址: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 以MongoDB3.4为例 1.创建 ...
- Intellij IDEA中使用Debug调试
转自:https://blog.csdn.net/zj420964597/article/details/78662299只是为了方便学习技术,少走弯路,如果有异议,请留言,及时处理!!!
- liunx crontab 定时访问指定url
链接主机 crontab -e 打开文件,直接输入需要执行的脚本 1 9 * * * /usr/bin/curl http://www.baidu.com 语法解析 * * * * * /usr/bi ...
- win10 64支持承载网络
在intel官网找到对应型号的网卡驱动. 下载win7版本的,更新驱动.安装完毕之后还要在设备管理里面更新2019 7 30这个版本的驱动. 英特尔® PROSet/无线软件和面向 IT 管理员的驱动 ...
- Mysql-Sqlalchemy-增删改查分组等操作
#!/usr/bin/env python # -*- coding:utf-8 -*- from sqlalchemy.ext.declarative import declarative_base ...