Git基础命令教程,以及GUI软件TGit介绍

这篇具有很好参考价值的文章主要介绍了Git基础命令教程,以及GUI软件TGit介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git

简介

Git 是一种分布式版本控制系统,广泛用于协同开发和源代码管理.它由Linus Torvalds在2005年创建,最初是为了管理Linux内核的开发而设计的.

Git可以帮助我们实现代码的本地管理和云端同步,本地就是后面的那些基本命令和GUI,云端就通过Git服务器

有以下基本过程

对个人 : 项目文件修改 ->功能完善后add然后commit->连接好远程仓库后push/pull

对团队 : 主要利用分支功能,将不同功能开发创建不同分支.开发好之后合并到一起

下面先介绍Git的目录结构

安装与设置

去Git官方网站下载安装包即可

首先设置你的用户名和邮件地址. 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
git config --list #查看所有配置

Git目录

当创建了Git项目后一般都有的文件

我们自定义Ignore&attributes来实现特定功能

Git通过.git这个隐藏文件夹来储存我们的各种信息

.gitignore

设置文件的忽略规则

让一些文件不被记入仓库的更改中.常见的情况是编译出的可执行文件或中间文件,不需要也不应当出现在代码仓库里.如:

main.exe  	#忽略特定文件
*.exe		#忽略所有exe
!*.cpp 		#忽略cpp以外的文件
build/ 		#忽略这个文件夹

.gitattributes

设置文件的属性,初学可忽略,防止git在文件处理时出错

  1. 文本和二进制文件的处理: 可以指定哪些文件是文本文件,哪些是二进制文件,以便 Git 在进行合并等操作时采取不同的策略.例如,可以告诉 Git 对于某个特定类型的文件,应该使用某种特定的合并策略.

    *.txt   -text
    *.bin   -text
    
  2. 行尾换行符的处理: 可以指定在检出或提交文件时使用的换行符类型,这对于不同操作系统上的协作很有用.例如,可以强制将所有换行符转换为 LF(Unix 格式)或 CRLF(Windows 格式).

    *.sh    eol=lf
    *.txt   text eol=crlf
    
  3. 合并策略的指定: 可以指定在合并文件时使用的合并策略.这对于处理特定类型的文件的合并冲突很有用.

    *.docx merge=word
    
  4. 文件特定的语言统计: 通过.gitattributes文件,可以告诉 Git 在统计代码行数时如何处理文件,以避免将二进制文件的内容计入统计.

    *.png binary
    *.java linguist-language=Java
    

.git

这个目录是 Git 仓库的核心,包含所有的元数据和对象数据库.它通常位于仓库的根目录下,但是默认情况下是隐藏的,即文件名以.开头.不需要用户管理

  1. objects 目录: 用于存储 Git 对象(blob.tree.commit 等).这些对象是 Git 存储文件内容和目录结构的基本单元.
  2. refs 目录: 包含指向各个分支(branches)和标签(tags)的引用,这些引用保存了 Git 仓库中各个提交的哈希值.
  3. logs 目录: 包含引用的变更历史.例如,logs/refs/heads/ 存储了每个分支的修改历史.
  4. hooks 目录: 包含客户端或服务器端的钩子脚本,这些脚本在特定的 Git 事件发生时执行.
  5. HEAD 文件: 指示当前所在的分支.通常是一个指向分支引用的符号链接.
  6. config 文件: 包含 Git 仓库的配置信息,如用户信息.别名等.
  7. index 文件: 包含了当前工作目录状态的缓存信息,即将要提交的文件的信息.

状态

目录内文件用角标来表示状态

符号说明:

  1. 正常的:绿色的对号 Git基础命令教程,以及GUI软件TGit介绍,git
  2. 被修改过的:红色感叹号 Git基础命令教程,以及GUI软件TGit介绍,git
  3. 新添加的:蓝色的加号Git基础命令教程,以及GUI软件TGit介绍,git
  4. 未受控的(无版本控制的):蓝色的问号Git基础命令教程,以及GUI软件TGit介绍,git
  5. 忽略不受控的:灰色的减号Git基础命令教程,以及GUI软件TGit介绍,git
  6. 删除的:红色的x号 Git基础命令教程,以及GUI软件TGit介绍,git
  7. 有冲突的:黄色的感叹号 **Git基础命令教程,以及GUI软件TGit介绍,git

Git服务器

用于储存代码

github和gitlab,另外还有国内的gitee,这里不介绍了

  • Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制.
  • GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习.
  • GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业.学校等内部网络搭建Git私服.
  • GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储.分享.发布和合作开发项目的中心化云存储的场所.从代码的私有性上来看,GitLab 是一个更好的选择.但是对于开源项目而言,GitHub 依然是代码托管的首选.

命令

创建

init 初始化当前目录为git库

git init

clone 创建在已有的代码基础上

git clone https://github.com/killsime/gitTest.git

修改

提交

add 添加到暂存区

git add file.cpp
git add . #当前目录的所有文件
git add --all #当前目录下的文件以及文件夹内的文件

reset 从暂存区删除

git reset
git reset .

status 查看暂存区

git status

确认暂存区无误后可以进行提交

commit

git commit  #弹出文本编辑器,将要提交的取消注释
git commit -m "commit message" #直接提交
git commit --amend #修改上次提交

提交后可进行恢复和删除

回退

回退项目

git log 查询当前分支提交日志

commit 87908935339fa31e36e97507c28289b352f000d4 (HEAD -> master, origin/master, third)
# head指向当前分支,后面列出了所有分支,如果推送过远程仓库还会像orign这样标注
Author: killsime <killsime@qq.com>
Date:   Mon Dec 25 19:01:22 2023 +0800
            new file:   .gitattributes
            new file:   .gitignore
            new file:   test.bmp

第一行即为该次commit的hash码,用于回退版本时使用(reset)

git reset 87908#不用全写,只要能区分就好,至少四位

撤回回退

git reflog查询引用(references)变更日志 ,整个全局的提交,回退,分支切换的日志

# 该次操作目标的提交hash值 分支列表,操作的分支为绿色 当前head 日志索引 描述信息
fd6ed09 (HEAD -> master) HEAD@{0}: reset: moving to fd6e
1c7886b HEAD@{1}: commit: new file: BMP.bmp
fd6ed09 (HEAD -> master) HEAD@{2}: commit (initial): new file: TXT.txt

这是两次提交后reset到第一次提交的日志,可以查看第二次commit的hash

git reset 1c788

分支

branch,用来管理分支,日志种用head来表示当前分支

git branch 			#查看所有分支
git branch test		#创建test分支
git branch -d test  #删除test分支

checkout,切换分支,必须在所有的修改被提交后才能切换

git checkout test

合并分支,将test合并到master中,冲突部分以master为准

$ git checkout master
$ git merge test

推送

git remote -v #fetch和push历史
# 添加远程仓库,pb和origin分别是起的昵称,分别使用https和SSH进行添加,一般我们用SSH.二者区别以及SSH建立教程可以看最后
git remote add pb https://github.com/paulboone/ticgit 
git remote add origin git@github.com:wihn2021/git-tut.git
# push和pull
git push origin master
git pull origin master

官方文档Git - Book

TGit

因为命令行可能相对门槛较高,所以我们可以通过GUI界面来进行git管理

这里我们使用 TortoiseGit

软件安装好后,就可以右键创建git库了

跟上面Git一样,空的或者从github上克隆

如果克隆提示No supported authentication methods available

需要将TGit中setting->network->ssh client换成git/usr/bin/ssh.exe

其他的类似需要通过命令的操作都可以通过右键菜单来进行了,也不必多唠叨

SSH与HTTPS

对比

二者都是建立加密连接,我们这里选择ssh,具体原因如下

特点/优缺点

**ssh:**一般使用22端口;通过先在本地生成SSH密钥对再把公钥上传到服务器;速度相较慢点

**https:**一般使用443端口;通过用户名/密码授权,可用性比较高;速度相较快点

使用区别

ssh

clone:需要配置ssh key,即要将生成的SSH密钥对的公钥上传至服务器;

push:不需要验证用户名和密码,直接push即可;

http

clone:没有要求,可以直接克隆下来.

push:需要验证用户名和密码.

总结

HTTPS利于匿名访问,适合开源项目,可以方便被别人克隆和读取,push需要登陆

SSH不利于匿名访问,比较适合内部项目,只要配置了SSH公钥极可自由实现clone和push操作.

SSH生成密钥

这里是连接github的教程

  1. 打开终端或命令提示符窗口.

  2. 输入以下命令,并按回车键执行:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
  3. 提示你输入保存密钥的文件路径,默认为~/.ssh/id_rsa,直接按回车键即可.

  4. 提示你输入一个密码,这是可选的,如果你想要为密钥添加密码保护,可以输入一个密码.如果不需要密码保护,直接按回车键跳过.

  5. 生成密钥对成功后,终端会显示公钥的路径和指纹.该文件夹下一个公钥(.pub),一个私钥

  6. 将公钥复制到剪贴板中:

    clip < %USERPROFILE%/.ssh/id_rsa.pub
    
  7. 添加公钥,【头像】→【Settings】→【SSH and GPG Keys】→【New SSH Key】,填入上一步的复制的SSHKey,然后【Add SSH Key】文章来源地址https://www.toymoban.com/news/detail-768576.html

到了这里,关于Git基础命令教程,以及GUI软件TGit介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git gui教程---第八篇 Git gui的使用 创建一个分支

    一般情况下一个主分支下代码稳定的情况下会新建出一个分支,然后在分支上修改,修改完成稳定后再合并到主分支上。 或者几个人合作写一份代码,每个人各一个分支,测试稳定再合并到主分支上。 在git gui选择菜单栏“分支”,选择新建 填写名称,点击新建 我在新的分

    2024年02月11日
    浏览(39)
  • Git gui教程---第七篇 Git gui的使用 返回上一次提交

    1. 查看历史,打开gitk程序 2. 选中需要返回的版本,右键,然后点击Rest master branch to here 3.出现弹窗 每个选项我们都试一下,从Hard开始 会丢失所有的修改【此处的修改包含新增的文件也会没了】,并回退到上一个版本 变动后,可以看到OtherFile回退到上一次的提交了。 如果

    2024年02月11日
    浏览(28)
  • Git GUI 图形工具基本使用教程

    前提条件是,已经在本地初始化了git库。初始化成功后,会产生一个,git文件夹。 1、右键,选择Git GUI Here。   2、选择Git GUIHere之后,跳出以下界面 :左上为【已修改未提交缓存的文件展示列表,Unstaged Changes】,左下为【已修改已提交缓存的文件展示列表,Staged Changes】,右

    2024年02月15日
    浏览(30)
  • Git本地 & Git远程 以及清除Git账号密码缓存命令

    1. Git配置(一个电脑配置一次) 2. 创建Git仓库(Git初始化) 3. 查看文件状态 4. 将工作区的文件提交到暂存区 5. 将暂存区的代码提交到Git仓库 6. 将暂存区的文件移回工作区 7. 跳过暂存区直接提交到Git仓库(这个文件必须曾经提交到Git仓库过) 8. 移除文件 9.查看提交历史 10.退回

    2024年02月12日
    浏览(29)
  • idea提交代码到git以及git常用命令

    本次操作以将本地代码提交到gitlab为例,不过都大同小异,差别不大。 Git 作为分布式版本控制软件,存储文件的位置叫做仓库。仓库有远程仓库(互联网上一台服务器或局域网内的一台服务器)和本地仓库(本机的一个目录)两种。 系统中任意文件夹都可以作为本地仓库。

    2024年02月04日
    浏览(63)
  • git设置用户以及常用命令

    git push – force:强制推送,慎用,除非认为此版本是最重要的,其余冲突可以不用管; git helper -a : 查看全部git子命令; git clone 地址 :克隆远程仓库; git status : 查看状态; git add 文件名 : 将某个文件存入暂存区; git checkout – file : 撤销工作区的修改 例如git checkout –

    2024年02月11日
    浏览(31)
  • 配置git账号以及常用命令

    目录 前言 一、下载git 三、配置全局的用户账号  ​编辑 四 、拉取线上仓库到本地  五、一些常用git命令 总结 帮助总结一下开发者常用的命令 一、下载git 官网链接在这 Git - Downloads https://git-scm.com/download 进入以后就是这个页面,默认是windows的版本,然后就可以下载了。

    2024年02月02日
    浏览(31)
  • Git的常用命令以及使用场景

    在学习Git命令之前,需要先了解工作区,暂存区和版本库这三个概念 在使用Git进行版本控制时,有三个重要的概念:工作区、暂存区和版本库 工作区(Working Directory):工作区是指项目所在的目录,是进行代码编写和修改的地方。在工作区中,可以添加、修改或删除文件。 暂存

    2024年02月15日
    浏览(35)
  • 【Git】简介以及常用命令(2023年)

    写在开始 : 本文主要讲解 Git 部分知识, 全文两万多字, 200多行,阅读可能花费时间比较久! 可以用作学习,复习等! ① 主要有 Git 简介和相关介绍; ② Git 下载安装 以及 Git 常用命令; ③ IDEA 中 Git 的使用。 help命令 Git 是分布式版本控制系统(DVCS)。它可以跟踪文件的更改,并允许

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包