草庐IT

Git的安装、配置、使用01【Git Bash Here命令行操作】

书启秋枫 2023-04-10 原文

Git的安装、配置、使用01【Git Bash Here命令行操作】https://blog.csdn.net/qq_45037155/article/details/123446538

Git的安装、配置、使用02【Idea对GitHub支持使用】https://blog.csdn.net/qq_45037155/article/details/123446538

一、版本控制工具

1. 什么是版本控制工具

     版本控制工具提供晚辈的版本管理功能,用于存储、追踪木盒文件的修改历史,是软件开发者必备的工具,是软件公司的基础设施。版本控制工具最主要的功能就是追踪文件的变更。

2. 版本控制工具的作用

(1)协同开发工作

         一个团队完成同一个项目

(2)版本管理的功能

         以不断提升项目版本的方式逐步完成项目

(3)数据的备份

         开发中以版本控制的形式保存每一个历史版本

(4)权限的控制

         对团队开发人员进行不同的权限分配

               -- 项目经理:权限最大(删除组成员)

               -- 开发者:只能上传和下载

(5)分支管理

         允许开发团队在工作中多条生产线同时推进任务,进一步提高效率。

3. 目前市场常见的版本控制工具及分类

 3.1 集中式版本控制工具

SVN、CVS、VSS

     不同的客户端直接跟服务器端直接进行工作交互,可以进行提交操作、克隆操作,不同的客户端之间是相互独立的。

 3.2 分布式版本控制工具

 Git、Bazaar、Darcs、Mercurial。。。。。

     每个用户都有自己本地仓库,用来管理版本控制,每个客户端同时是一个服务器,同时也可以用一个专门的服务器仓库进行管理。

二、Git的简介

1. Git概述

     Git就是一个开源的分布式版本控制工具,可以有效、高速的处理从小到大的项目版本管理。Git起初是为Linux Torvalds服务的,现在应用在大多数的软件开发领域行业中。

2. Git的优点

(1)适合分布式开发、强调个体

(2)公共服务器压力和数据量都不会很大

(3)速度块、灵活、上手快

(4)相对容易解决冲突的问题

(5)大部分操作在本地完成,不需要联网

三、Git 的使用

1. Git的下载

Git 官网下载https://git-scm.com/downloads

2.Git的安装 

 1.默认下一步

 2.修改路径

 3.默认下一步

Git Bash Here和Git GUI Here:方便的在任意目录下打开Git

Additional icons—》On the Desktop:在桌面添加图标

 4..默认下一步

 5.默认Vim编译器下一步

 6.后面都默认下一步 

 7.下载 

 8.安装结束 

3. 安装成功后在cmd命令行模式下查看git版本信息

查看 git 版本命令:git --version

4. Git的常用命令

(1)查看Git版本信息的命令:git --version

(2)查看当前的目录:pwd

(3)设置系统用户级别的签名方式:

git config --global user.name '......'        #用户名内容自定义

git config --global user.email '......'        #用户邮箱自定义

(4)查看签名的信息:git config -l

(5)vi 编辑命令 

添加(修改、删除)数据:按 i 显示插入,直接更新文件

退出:按Esc——》:

         :q!——》退出不保存

         :wq——》退出保存 

5. Git的应用方式

 5.1 Git版本控制的方式

 5.2 将工作目录中的项目代码上传到Git的本地的仓库

(1)初始化本地仓库(工作目录): git init

1.首先设置任意一个目录路径作为本地仓库的目录(D:\demo\test),进行初始化操作。

2.在该工作目录下右击 Git Bash Here

3.初始化本地仓库(工作目录):git init

 (2)将代码添加到暂存区中:git add 文件名

1.查看本地库的状态:git status

2.将工作目录中的代码提交到暂存中:git add 文件名

3.再一次查看本地库的状态:git status

注意点:代码或资源被提交到暂存中可以作撤销操作:git rm --cached hello.txt

(3)将暂存区中代码提交到本地仓库:git commit

1.将工作目录中的代码提交到暂存中:git add hello.txt

2.查看本地库的状态:git status

3.将暂存区中代码提交到本地仓库:git commit -m "...[自定义内容]..." hello.txt

注意点:选项 -m:给出一些提示信息

4.再一次查看本地库的状态:git status

 5.3 将工作目录中的代码进行修改

(1)修改代码:您好世界!

(2)查看状态:git status

(3)再一次提交到暂存区:git add hello.txt

(4)再一次提交到本地仓库:git commit -m "...[自定义内容]..." hello.txt

(5)查看两次日志信息:git reflog

(6)日志输出:git log

5.4 版本穿梭

git reflog :先查看日志信息

git reset --hard 4b9f42a:切换版本号

5.5 清空暂存区

(1)如果还没有进行add和commit操作

         git chekout .

(2)如果进行add操作

         git reset .  或  git rm --cached hello.txt

(3)清空暂存区

         git clean -f hello.txt

6. Git的远程仓库的操作

一般在项目开发中我们会常使用Github和Gitee作项目你的托管平台(远程仓库)

 6.1将本地仓库中的代码上传到远程仓库

(1)注册一个Gitee项目托管平台的用户:sukels

(2)登录GItee账户

(3)在Gitee中创建一个远程仓库:Suke 

(4)将本地仓库中的代码上传到远程仓库中Suke

1.添加一个远程仓库:git remote add origin https://gitee.com/sukels/suke.git

2.查看远程仓库的地址: git remote  -v

3.将本地仓库中的代码上传到远程仓库:git push origin master

 注:意外情况:protocol 'https' is not supported

Git clone 报错:fatal: protocol 'https' is not supported解决办法https://blog.csdn.net/sinat_29891353/article/details/82861472

注:解决办法1:https://gitee.com/sukels/suke.git这部分代码手敲不要复制

注:解决办法2:不用https,换用ssh去clone(如果有ssh选项)

git clone git@gitee .com:suke/suke.git

报错:敲入git push origin master后,此时报错:gitee码云push报错:git@gitee.com: Permission denied (publickey). fatal: Could not read from remote

解决办法:生成秘钥
生成秘钥https://blog.csdn.net/qq_45037155/article/details/123445971

 git push origin master

(5)刷新远程仓库Suke查看上传过来的代码

 6.2将远程仓库中的代码克隆到本地仓库

(1)先从远程仓库中拉取代码(更新本地库中代码)

修改了远程仓库中代码

拉取远程仓库中修改后的代码:git pull origin master 

(2)将远程仓库直接克隆到本地仓库

git clone https://gitee.com/sukels/suke.git

注意点:保证本地仓库不能有先克隆过来的远程仓库,如果有的话先删除再克隆。

7. Git命令操作的总结

 7.1 操作本地仓库

(1)初始化本地仓库:git init

(2)添加到暂存区:git add 文件名

(3)将暂存区中的代码提交到本地仓库:git commit -m “消息提示” 文件名

(4)查看状态:git status

(5)查看日志:git reflog

(6)查看本地库中的文件:git ls-files

 7.2 操作远程仓库

(1)将本地仓库中的代码上传到远程仓库

(2)将远程仓库中的代码拉取到本地仓库中

(3)直接将远程仓库克隆到本地仓库

四、仓库

1. 本地仓库

     对应是一个本地磁盘中的一个目录,这个目录中所有的文件都被git进行管理,在以后我们的项目开发过程中代码的工作目录就是本地仓库,仓库中的每一个项目的更新或改动都是git进行跟踪的。在操作本地仓库之前必须要初始化操作(只需要初始化一次即可)

2. 远程仓库

     其实就是一个互联网上的项目托管平台,可以管理项目和存储项目,目前使用较多的就是github和gitee两种。

 2.1 GitHub

     GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。

注意点:访问GitHub等待响应时间过长的解决方案

方法:修改HOSTS文件,位置:C:\Windows\System32\drivers\etc

用记事本打开,在文件末加上两行代码:

#访问GitHub等待响应时间过长的解决方案
140.82.112.3 github.com
140.82.114.3 www.github.com

 2.2 Gitee码云

     Gitee 是开源中国推出的基于 Git 的代码托管服务。目前已经有注册开发者 600 万,托管超过 1500 万代码仓库。

有关Git的安装、配置、使用01【Git Bash Here命令行操作】的更多相关文章

  1. ruby - 如何使用 Nokogiri 的 xpath 和 at_xpath 方法 - 2

    我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div

  2. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  3. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  4. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  5. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  6. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  7. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  8. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  9. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  10. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

随机推荐