git 订阅
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1]  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper [1]  。 展开全文
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1]  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper [1]  。
信息
软件授权
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特点
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。下图是经典的git开发过程。 Git的功能特性:从一般开发者的角度来看,git有以下功能:1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。2、在自己的机器上根据不同的开发目的,创建分支,修改代码。3、在单机上自己创建的分支上提交代码。4、在单机上合并分支。5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。6、生成补丁(patch),把补丁发送给主开发者。7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:1、查看邮件或者通过其它方式查看一般开发者的提交状态。2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。3、向公共服务器提交结果,然后通知所有开发人员。优点:适合分布式开发,强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间可以很容易的解决冲突。离线工作。缺点:资料少(起码中文资料很少)。学习周期相对而言比较长。不符合常规思维。代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
收起全文
精华内容
下载资源
问答
  • Git fetch和git pull的区别

    万次阅读 多人点赞 2012-06-14 20:56:10
    Git中从远程的分支获取最新的版本到本地有这样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:13
    git入门 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可分为工作区、暂存区、本地仓库和远程仓库
      • 工作区: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] [分支]将本地仓库推送到远程仓库
      • 注意origingit clone的默认shortname

    git常用命令

    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创建远程仓库:

        在Linux服务器上创建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撤销&回滚操作-log

    $ git rebase -i "commit id"^
    

    注意: 需要注意最后的*^*号,意思是commit id的前一次提交

    $ git rebase -i "5b3ba7a"^
    

    Git撤销&回滚操作-rebase
    在编辑框中删除相关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:55
    2015年02月26日 13:59:11 ...在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, ...
  • 一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时... 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么...
  • git丢弃本地修改的所有文件(新增、删除、修改)

    万次阅读 多人点赞 2016-05-03 15:15:34
    本地修改了许多文件,其中有些是新增的,因为开发需要这些都不要了,想要丢弃掉,可以使用如下命令:git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态 git stash #把所有没有提交的修改暂存到...
  • git中文安装教程

    万次阅读 多人点赞 2018-05-06 00:06:36
    Git Setup 2.17.0 Git 中文安装教程 AUTHOR:谢宗南 https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh 本人 GitHub 原文地址 ...
  • git强制覆盖: git fetch --all git reset --hard origin/master git pullgit强制覆盖本地命令(单条执行): git fetch --all &amp;&amp;git reset --hard origin/master &amp;&amp;git pull...
  • Git 天天用 但是 Git 原理你了解吗?

    万次阅读 多人点赞 2019-09-20 16:10:05
    Git 原理 做技术一定要知其然知其所以然,意思就是:知道它是这样的,更知道它为什么是这样的。我主要通过4块内容来简单介绍 Git 是原理是什么样的。这4块内容如下: Git 存储目录结构介绍 Git 是如何存储的 Git 的...
  • git用法

    万次阅读 2018-10-29 23:56:52
    git 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:48
    git的工作流 工作区:即自己当前分支所修改的代码,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:15
    PS:转载此文后,网友在评论中提到还有其它方法,不过目前个人尚在研究中,有兴趣的朋友们也可自行一探究竟 ... ------------------------------------------------------------------------- ...Git 全局设置:...
  • git merge最简洁用法

    万次阅读 多人点赞 2019-06-28 17:00:16
    git 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这里,如下图...
  • 上篇中将本地SSH添加到... fatal: Not a git repository (or any of the parent directories): .git 提示说没有.git这样一个目录 在命令行 输入 git init 然后回车就好了 再重新执行添加文件的命令即可。 ...
  • IntelliJ IDEA 如何配置git

    万次阅读 多人点赞 2018-05-23 15:02:15
    IntelliJ IDEA 配置git: 需要的材料: 一、git.exe 二、配置git.exe的环境变量 三、IDEA编辑器 接下来就是配置了: ①你必须去github官网下载一个git.exe,不知道官网的请点击这里,下载完之后安装即可。 ②...
  • Git可视化教程——Git Gui的使用

    万次阅读 多人点赞 2017-04-28 15:43:04
    Git可视化教程——Git Gui的使用
  • git切换到指定远程分支

    万次阅读 多人点赞 2018-10-12 17:44:41
    git切换到指定远程分支 我们在使用git进行开发的时候经常会遇到需要切换远程分支并且提交到远程指定分支的情况,现在记录下操作步骤。 查看远程所有分支 $ git branch -a git branch不带参数,列出本地已经...
  • git生成并添加SSH key

    万次阅读 多人点赞 2017-11-30 23:24:57
    1、安装Git Bash https://git-scm.com/downloads 2、鼠标右键git bash here 3、执行以下命令: ① cd ~/.ssh/ 【如果没有对应的文件夹,则执行 mkdir ./.ssh】 ② git config --globar user.name "xb1236
  • git 推送本地分支到远程分支 git push origin

    万次阅读 多人点赞 2018-07-27 18:32:57
    转载自:... 推送本地分支local_branch到远程分支 remote_branch并建立关联关系 a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch git...
  • Git下载、安装与环境配置

    万次阅读 多人点赞 2018-10-12 20:34:22
    一、git下载与安装 百度git官网,下载链接,根据自己电脑系统下载相应的安装包, 下载最新版本,点击红框或篮筐处即可 点击下载好的安装包安装这个软件 一直点击next,直到出现install,点击install,安装完成...
  • git 放弃修改,放弃增加文件操作

    万次阅读 多人点赞 2018-01-15 20:41:41
    1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。 单个文件/文件夹: $ git checkout -- filename 所有文件/文件夹: $ git checkout . 2. 本地新增了一堆文件(并没有git add到暂存区),想...
  • git rebase简介(基本篇)

    万次阅读 多人点赞 2012-06-14 22:09:19
    git rebase用于把一个分支的修改合并到当前分支。 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。 $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们在这...
  • git命令切换分支

    万次阅读 多人点赞 2018-08-18 10:17:44
    git切换分支 首先通过 $ git branch -a 来查看所在目录的分支 $ git branch -a master * trunk remotes/origin/HEAD -&gt; origin/master remotes/origin/master remotes/origin/zhanghanlun 然后...
  • 分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的...
  • [Git] Git整理(五) git cherry-pick的使用

    万次阅读 多人点赞 2018-07-13 23:49:16
    git cherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合...
  • VSCode git 配置心得

    万次阅读 2017-09-04 14:25:38
    一、Git是一个分布式的代码版本管理工具。类似的常用工具还有SVN,CVS。最大的特点也是优点在于提供分布式的代码管理1、分支代码只有一份! 使用过svn的童鞋想必都知道,当我们要开发一个新功能或者增加一个新版本...
  • git回退到上个版本 git reset --hard HEAD^ 回退到前3次提交之前,以此类推,回退到n次提交之前 git reset --hard HEAD~3 退到/进到 指定commit的sha码 git reset --hard dde8c25694f34acf8971f0782b1a...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 624,660
精华内容 249,864
关键字:

git