
- 软件授权
- GNU General Public License version 2.0 [4]
- 软件名称
- Git
- 更新时间
- 2020-04-19 [2]
- 软件版本
- 2.26.2 [2]
- 软件平台
- Windows、Mac OS X、Linux/Unix [2]
- 软件语言
- C、Shell、Perl、Tcl、Python、Makefile等 [3]
-
Git fetch和git pull的区别
2012-06-14 20:56:10Git中从远程的分支获取最新的版本到本地有这样2个命令:1.git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log -p master..origin/mastergit merge origin/maste...原文: http://www.tech126.com/git-fetch-pull/
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git fetch origin master
git log -p master..origin/master
git merge origin/master以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:git fetch origin master:tmp
git diff tmp
git merge tmp从远程获取最新的版本到本地的test分支上
之后再进行比较合并
2. git pull:相当于是从远程获取最新版本并merge到本地git pull origin master
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并。 -
git
2019-05-30 19:46:13git入门 git简介 git安装 windows计算机安装git linux 计算机安装git git使用 git配置 git基本认识 git是一个分布式的版本控制系统。git简介
- git是一个分布式的版本控制系统。例如我们一个小团队合作开发一个项目,我们可以先建立一个远程仓库,需求分析,搭建大体框架,将项目框架上传至远程仓库,队员可以git clone项目,各自完成自己负责的部分,完善项目等,写好之后还可以比对之前的版本,本地项目写好之后上传至远程仓库,出现错误还可以版本回退等等,总之,git很强大,非常好用。
git安装
windows计算机安装git
linux 计算机安装git
- 例如Ubuntu:
sudo apt install git
即可。
git实用教程
git配置
- 用户配置,相当于个人身份证,每一次 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
git config --global user.email "xx@xxx.com " git config --global user.name "xxx"
- 查看git配置
git config --list
认识使用git
- git图解
git的理解及简单使用
- git可分为工作区、暂存区、本地仓库和远程仓库
- 工作区:git版本库所在的目录即为工作区。
- 暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
- 远程仓库:建立在远程服务器上的版本库。
git init
在当前目录初始化一个版本库git add .
提交工作区所有变化到暂存区git add -u
提交工作区更改过的文件到暂存区git commin -m "提交说明"
将暂存区文件提交到版本库git pull [shortname] [分支]
拉取远程仓库到本地仓库git push [shortname] [分支]
将本地仓库推送到远程仓库- 注意
origin
是git clone
的默认shortname
git常用命令
-
git 基本使用:
git init
——初始化仓库git status
——查看仓库的状态git log
——查看提交日志git diff
——查看更改前后的差别
-
git 分支操作:
git branch
——显示分支表git checkout -b "分支名"
——创建、切换分支git merge
——合并分支git log -graph
——以图表形式查看分支
-
git 更改提交的操作
git reset
——回溯历史版本git commit --amend
——修改提交信息git rebase -i
——压缩历史
-
git 推送至远程仓库
git remote add [shortname] [url]
——添加远程仓库git push [shortname] [分支名]
——推送至远程仓库
-
git 从远程仓库获取
git clone
——获取远程仓库git pull [shortname] [分支名]
——获取最新的远程仓库分支
-
git使用技巧:
- git查看远程仓库:
git remote
- git 更改远程仓库:
git remote rm origin [url] git remote add origin [url]
- git创建远程仓库:
- git查看远程仓库:
容易出现的一些错误
-
git push时出现错误:
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights and the repository exists.
即:git@github.com: Permission denied (publickey).
fatal: 无法读取远程仓库。- 原因:缺少公钥
- 解决方法:生成公钥并添加至你的github,可以参考官网的这篇文章。
-
git push时出现错误:
ERROR: Permission to commonyzb/job.git denied to deploy key
fatal: Could not read from remote repository.- 原因:错误,允许此git仓库部署密钥。因为之前的密钥只绑定了之前的仓库,这个仓库就不能用了。
- 解决方法:将此公钥绑定到账号上,而不是某一个仓库,在账号-setting中绑定公钥。
-
git pull时出现错误:
fatal: refusing to merge unrelated histories- 原因:远程库觉得和本地库不相干,拒绝了请求,参考这篇文章
- 解决方法:强制合并分支
git pull origin master --allow-unrelated-histories
-
Git撤销&回滚操作
2017-05-02 19:32:00开发过程中,你肯定会遇到这样的场景:场景一: 糟了,我刚把不想要的代码,commit到...撤销上述场景一,在未进行git push前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作叫做“撤开发过程中,你肯定会遇到这样的场景:
场景一:
糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作!
场景二:
彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码!
场景三:
刚才我发现之前的某次提交太愚蠢了,现在想要干掉它!
撤销
上述场景一,在未进行
git push
前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作叫做“撤销”!情况一:文件被修改了,但未执行
git add
操作(working tree内撤销)$ git checkout fileName $ git checkout .
情况二:同时对多个文件执行了
git add
操作,但本次只想提交其中一部分文件$ git add * $ git status # 取消暂存 $ git reset HEAD <filename>
情况三:文件执行了
git add
操作,但想撤销对其的修改(index内回滚)# 取消暂存 $ git reset HEAD fileName # 撤销修改 $ git checkout fileName
情况四:修改的文件已被
git commit
,但想再次修改不再产生新的Commit# 修改最后一次提交 $ git add sample.txt $ git commit --amend -m"说明"
情况五:已在本地进行了多次
git commit
操作,现在想撤销到其中某次Commit$ git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]
具体参数和使用说明,请查看:Git Pro深入浅出(二)中的重置揭秘部分
回滚
上述场景二,已进行
git push
,即已推送到“远程仓库”中。我们将已被提交到“远程仓库”的代码还原操作叫做“回滚”!注意:对远程仓库做回滚操作是有风险的,需提前做好备份和通知其他团队成员!如果你每次更新线上,都会打tag,那恭喜你,你可以很快的处理上述场景二的情况
$ git checkout <tag>
如果你回到当前HEAD指向
$ git checkout <branch_name>
情况一:撤销指定文件到指定版本
# 查看指定文件的历史版本 $ git log <filename> # 回滚到指定commitID $ git checkout <commitID> <filename>
情况二:删除最后一次远程提交
方式一:使用revert
$ git revert HEAD $ git push origin master
方式二:使用reset
$ git reset --hard HEAD^ $ git push origin master -f
二者区别:
- revert 是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;
- reset 是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。
情况三:回滚某次提交
# 找到要回滚的commitID $ git log $ git revert commitID
删除某次提交
$ git log --oneline -n5
$ git rebase -i "commit id"^
注意: 需要注意最后的*^*号,意思是commit id的前一次提交
$ git rebase -i "5b3ba7a"^
在编辑框中删除相关commit,如pick 5b3ba7a test2
,然后保存退出(如果遇到冲突需要先解决冲突)!$ git push origin master -f
通过上述操作,如果你想对历史多个commit进行处理或者,可以选择
git rebase -i
,只需删除对应的记录就好。rebase还可对 commit 消息进行编辑,以及合并多个commit。 -
git官网下载太慢解决方法
2019-08-16 22:26:57官网下载Git时,速度几乎是超不过20KB,解决方法有很多,这里介绍简单粗暴的方法。 这里使用windows系统作为演示,其他系统对号入座即可。 下载 地址:https://github.com/git-for-windows/git/releases/ 一、选择...下载传送门
https://npm.taobao.org/mirrors/git-for-windows/
选择版本
进入后,选择你想要的版本,它里面是 降序排序。
我想下载新版本怎么做?
:拉到最底部,如下图所示:
2.我想下载旧版本怎么做?
拉到最顶部,如下图所示:
怎么下载?
点击后,出现如图所示结果:
不解释了,别忘了你的 title ,软件安装卸载工程师! -
git命令之git clone用法
2018-07-31 17:49:552015年02月26日 13:59:11 ...在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, ... -
Git恢复之前版本的两种方法reset、revert(图文详解)
2018-04-14 21:35:44一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时... 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么... -
git丢弃本地修改的所有文件(新增、删除、修改)
2016-05-03 15:15:34本地修改了许多文件,其中有些是新增的,因为开发需要这些都不要了,想要丢弃掉,可以使用如下命令:git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态 git stash #把所有没有提交的修改暂存到... -
git中文安装教程
2018-05-06 00:06:36Git Setup 2.17.0 Git 中文安装教程 AUTHOR:谢宗南 https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh 本人 GitHub 原文地址 ... -
【git】强制覆盖本地代码(与git远程仓库保持一致)
2018-04-27 23:53:57git强制覆盖: git fetch --all git reset --hard origin/master git pullgit强制覆盖本地命令(单条执行): git fetch --all &&git reset --hard origin/master &&git pull... -
Git 天天用 但是 Git 原理你了解吗?
2019-09-20 16:10:05Git 原理 做技术一定要知其然知其所以然,意思就是:知道它是这样的,更知道它为什么是这样的。我主要通过4块内容来简单介绍 Git 是原理是什么样的。这4块内容如下: Git 存储目录结构介绍 Git 是如何存储的 Git 的... -
git用法
2018-10-29 23:56:52git checkout -b zhu # 远程拉取文件 git pull 远端:有master和zhu分支 本地:有master和zhu分支 需求:将远端master分支更新到本地zhu分支 操作:git pull origin master:zhu git pull origin zhu 冲突处理: ... -
Git撤销&回滚操作(git reset 和 get revert)
2018-11-15 22:11:48git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的。 暂存区:已经 git add xxx 进去,且未 git commit xxx 的。 本地分支:已经git commit -m ... -
在 vscode 中使用 Git :拉取、提交、克隆
2018-11-13 16:53:15PS:转载此文后,网友在评论中提到还有其它方法,不过目前个人尚在研究中,有兴趣的朋友们也可自行一探究竟 ... ------------------------------------------------------------------------- ...Git 全局设置:... -
git merge最简洁用法
2019-06-28 17:00:16git checkout dev git pull git checkout master git merge dev git push -u origin master 二、当master代码改动了,需要更新开发分支(dev)上的代码 git checkout master git pull git ch... -
git 拉取远程分支到本地
2018-03-25 22:43:11步骤:1、新建一个空文件,文件名为hhhh2、初始化 git init3、自己要与origin master建立连接(下划线为远程仓库链接)git remote add origin git@github.com:XXXX/nothing2.git远程仓库链接在github这里,如下图... -
解决 fatal: Not a git repository (or any of the parent directories): .git 问题
2019-04-17 20:10:08上篇中将本地SSH添加到... fatal: Not a git repository (or any of the parent directories): .git 提示说没有.git这样一个目录 在命令行 输入 git init 然后回车就好了 再重新执行添加文件的命令即可。 ... -
IntelliJ IDEA 如何配置git
2018-05-23 15:02:15IntelliJ IDEA 配置git: 需要的材料: 一、git.exe 二、配置git.exe的环境变量 三、IDEA编辑器 接下来就是配置了: ①你必须去github官网下载一个git.exe,不知道官网的请点击这里,下载完之后安装即可。 ②... -
Git可视化教程——Git Gui的使用
2017-04-28 15:43:04Git可视化教程——Git Gui的使用 -
git切换到指定远程分支
2018-10-12 17:44:41git切换到指定远程分支 我们在使用git进行开发的时候经常会遇到需要切换远程分支并且提交到远程指定分支的情况,现在记录下操作步骤。 查看远程所有分支 $ git branch -a git branch不带参数,列出本地已经... -
git 推送本地分支到远程分支 git push origin
2018-07-27 18:32:57转载自:... 推送本地分支local_branch到远程分支 remote_branch并建立关联关系 a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch git... -
git生成并添加SSH key
2017-11-30 23:24:571、安装Git Bash https://git-scm.com/downloads 2、鼠标右键git bash here 3、执行以下命令: ① cd ~/.ssh/ 【如果没有对应的文件夹,则执行 mkdir ./.ssh】 ② git config --globar user.name "xb1236 -
Git下载、安装与环境配置
2018-10-12 20:34:22一、git下载与安装 百度git官网,下载链接,根据自己电脑系统下载相应的安装包, 下载最新版本,点击红框或篮筐处即可 点击下载好的安装包安装这个软件 一直点击next,直到出现install,点击install,安装完成... -
git 放弃修改,放弃增加文件操作
2018-01-15 20:41:411. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。 单个文件/文件夹: $ git checkout -- filename 所有文件/文件夹: $ git checkout . 2. 本地新增了一堆文件(并没有git add到暂存区),想... -
git rebase简介(基本篇)
2012-06-14 22:09:19git rebase用于把一个分支的修改合并到当前分支。 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。 $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们在这... -
git命令切换分支
2018-08-18 10:17:44git切换分支 首先通过 $ git branch -a 来查看所在目录的分支 $ git branch -a master * trunk remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/zhanghanlun 然后... -
Git:git安装教程和检查是否安装成功
2018-07-02 16:22:06分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的... -
[Git] Git整理(五) git cherry-pick的使用
2018-07-13 23:49:16git cherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合... -
VSCode git 配置心得
2017-09-04 14:25:38一、Git是一个分布式的代码版本管理工具。类似的常用工具还有SVN,CVS。最大的特点也是优点在于提供分布式的代码管理1、分支代码只有一份! 使用过svn的童鞋想必都知道,当我们要开发一个新功能或者增加一个新版本... -
git 回退到上个版本 rollback 回滚 git reset HEAD, git 回退到上一版本
2019-06-26 09:04:35git回退到上个版本 git reset --hard HEAD^ 回退到前3次提交之前,以此类推,回退到n次提交之前 git reset --hard HEAD~3 退到/进到 指定commit的sha码 git reset --hard dde8c25694f34acf8971f0782b1a...
-
SubstancePainter插件开发-基础入门
-
基于DSP两相混合式步进电机控制驱动器研究与设计
-
基于离散自适应滑模控制的DC-DC变换器的设计与仿真
-
Object.keys()和Object.values()
-
pdfbox-debugger-2.0.13.jar
-
2021-1-26 Pool_Lexer_Parser.zip
-
自适应权值的跨尺度立体匹配算法
-
Optimization of the pulse width and injection time in a double-pass laser amplifier
-
谱域相位显微成像的相位解包裹
-
SMT回流焊的温度曲线.pdf
-
AtCoder Beginner Contest 189 寒假训练题解
-
基于卡方检验和SVM的用户搜索画像技术研究
-
单元测试UnitTest+Pytest【Selenium3】
-
基于Qt的串口调试助手
-
bugku基于布尔的SQL盲注
-
【数据分析-随到随学】量化交易策略模型
-
基于多传感器的三维目标位姿测量方法
-
算法导论二(排序和顺序统计量)——编程大牛的必经之路
-
一种煤矿井下复杂光照条件下的人脸识别方法
-
【2021】UI自动化测试Selenium3