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 + ...
随机推荐
- [c++] 幂法求特征向量
幂法的原理可参考此篇论文:http://d.wanfangdata.com.cn/Periodical/hnnydxxb2001Z1023 本文求解的是 3 阶矩阵最大特征值及其特征向量 下面是其 C ...
- IIS 404设置
想给自己做的的网站自定义一个404页面,开始 双击红框提示的错误页图标 双击上图红框提示的所示404行 修改上图红框提示的内容如下:我是直接在根目录放了一个自己做的404.html,实际情况要填写你自 ...
- oracle数据库表恢复到特定时间点
某一张表被应用软件里误操作把数据都清空了,现在想恢复到清空之间,比如2013年8月13日14点以前,应该怎样操作? 通过这个问题可以引发一系列的知识点串联. 1.如果开启闪回可以使用闪回表. 怎样查看 ...
- java解析json字符串详解(两种方法)
一.使用JSONObject来解析JSON数据官方提供的,所以不需要导入第三方jar包:直接上代码,如下 private void parseJSONWithJSONObject(String Jso ...
- 多进程-Pool进程池
from multiprocessing import Pool import os,time def Foo(i): time.sleep(2) print("in process&quo ...
- Dasha and Photos CodeForces - 761F (前缀优化)
大意: 给定n*m初始字符矩阵, 有k个新矩阵, 第$i$个矩阵是由初始矩阵区间赋值得到的, 求选择一个新矩阵, 使得其余新矩阵到它距离和最小. 字符集比较小, 可以考虑每次区间覆盖对每个字符的贡献. ...
- awk--基本操作
二:awk--将一行分为数个字段处理 PS:awk [option] '条件类型 {动作1} 条件类型{动作2} ...' filename PS: awk 'Pattern {action}' fi ...
- C++ 对象构造顺序、构析函数、临时对象。
对象的构造顺序: 1.对于局部对象,构造顺序是根据程序执行流进行构造,从上到下. #include <stdio.h> class Test { int mi; public: Test( ...
- centos配置postfix邮件服务
1.环境初始化 [root@mail ~]# rpm -q centos-release //查看系统版本 centos-release-7-5.1804.el7.centos.x86_64 [roo ...
- Linux经典操作
1.Linux批量终止在运行中包含某个字符串的所有进程. ps -ef|grep celery | grep -v grep|cut -c 9-15|xargs kill -9