(开源)Git的安装、环境变量配置及Git基本操作(基于Windows10、11系统)

目录

一、Git简述

二、安装配置教程:

(一)Git安装

(二)环境变量配置

配置信息 

①配置用户

②配置邮箱

③Git生成密钥(ssh)

安装配置完成

 三、Git的基本操作

(一)创建仓库命令

(二)配置

(三)提交与修改文件

(四)分支

(五)标签

(六)查看信息

(七)远程同步

(八)撤销


一、Git简述

Git 是世界上使用最为广泛最先进的一款免费、开源的分布式版本控制系统

Git 最初由 Linux 系统内核的作者 Linus Torvalds 在 2005 年开始开发,目前已经是一个持续维护的成熟开源项目。如今,大量软件项目依赖 Git 进行版本管理,其中既有开源软件,也有商业软件,Git 在很多操作系统和集成开发环境(IDE)上都表现良好,Git 兼具大多数团队和个人开发者需要的功能、性能,安全性和灵活性。在目前的程序开发、应用开发等编译大环境中,绝大多数软件开发者或多或少都使用过 Git。

Git的设计理念主要包括以下几个重要特点:

  • 分布式版本控制:Git不依赖于中央服务器,每个开发者都可以拥有完整的代码历史和版本信息。
  • 哈希算法:Git使用SHA-1哈希算法来生成对象的名称,以确保完整性和数据的一致性。
  • 快速性能:Git针对大规模项目进行了优化,能够在短时间内处理大量的版本控制操作。
  • 分支管理:Git非常强大的分支管理功能,可以轻松创建、合并和切换分支,使多人协作开发变得更加灵活。

二、安装配置教程:

(一)Git安装

 下载git官方安装包

附网址:Git (git-scm.com)

检查Git是否安装成功,打开CMD 命令提示符窗口,输入git

到此,Git的安装完成,可以在开始菜单中看到Git的三个启动图标(Git Bash、Git CMD、Git GUI)

(二)环境变量配置

配置信息 

进入git bath

①配置用户
git config --global user.name "username"    //( "username"是自己的账户名,)
②配置邮箱
git config --global user.email "username@email.com"     //("username@email.com"注册账号时用的邮箱)

获取默认配置,如果当前地址中仓库信息不存在,则查看全局,然后再读取系统配置

git config --list 

  • git config --local --list  本地仓库配置(高优先级)
  • git config --global --list  全局用户配置(中优先级)
  • git config --system --list  系统配置(低优先级)

 git config --global --list查看配置

③Git生成密钥(ssh)
ssh-keygen -t rsa

运行命令时需要三次回车

在系统盘目录下(一般在 C:\Users\用户名.ssh)(mac: /Users/用户/.ssh)查看是否有.shh文件生成,此文件夹中以下两个文件

将ssh文件夹中的公钥( id_rsa.pub)添加到GitHub管理平台中,在GitHub的个人账户的设置中找到界面

完成填写,将公钥(id_rsa.pub)文件中内容复制粘贴到key中,然后点击Ass SSH key

安装配置完成

 测试配置是否成功,在Git Bush命令框中输入以下命令

ssh -T git@github.com

若出现以上结果,则为配置成功


······到此,Git基本的安装及环境变量配置完成······

 三、Git的基本操作

Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

(一)创建仓库命令

下表列出了 git 创建仓库的命令:

命令

说明

git init

在当前目录新建一个Git代码库

git init [project-name]

新建一个目录,将其初始化为Git代码库

git clone [url]

拷贝一份远程仓库,就是下载一个项目和它的整个代码历史

(二)配置

Git的设置文件为.git config。所有config命令参数

语法: git config [<options>]  

所有config命令参数

语法: git config [<options>]  

①文件位置           

  • --global                  #use global config file 使用全局配置文件
  • --system                  #use system config file 使用系统配置文件
  • --local                   #use repository config file    使用存储库配置文件
  • -f, --file <file>         #use given config file    使用给定的配置文件
  • --blob <blob-id>          #read config from given blob object    从给定的对象中读取配置 

②动作        

  • --get                     #get value: name [value-regex]    获得值:[值]名[正则表达式]
  • --get-all                 #get all values: key [value-regex]    获得所有值:[值]名[正则表达式]
  • --get-regexp          #get values for regexp: name-regex [value-regex]    得到的值根据正则
  • --get-urlmatch           #get value specific for the URL: section[.var] URL    为URL获取特定的值
  • --replace-all             #replace all matching variables: name value [value_regex]    替换所有匹配的变量:名称值[ value_regex ]
  • --add                     #add a new variable: name value    添加一个新变量:name值
  • --unset                   #remove a variable: name [value-regex]    删除一个变量名[值]:正则表达式
  • --unset-all               #remove all matches: name [value-regex]    删除所有匹配的正则表达式:名称[值]
  • --rename-section          #rename section: old-name new-name    重命名部分:旧名称 新名称
  • --remove-section          #remove a section: name    删除部分:名称
  • -l, --list                #list all    列出所有
  • -e, --edit           #open an editor    打开一个编辑器
  • --get-color               #find the color configured: slot [default]    找到配置的颜色:插槽[默认]
  • --get-colorbool           #find the color setting: slot [stdout-is-tty]    发现颜色设置:槽[ stdout是TTY ]

类型        

  • --bool                    #value is "true" or "false"    值是“真”或“假”。
  • --int                     #value is decimal number    值是十进制数。
  • --bool-or-int             #value is --bool or --int    值--布尔或int
  • --path                    #value is a path (file or directory name)    值是路径(文件或目录名)      

④其它        

  • -z, --null                #terminate values with NUL byte    终止值与null字节
  • --name-only               #show variable names only    只显示变量名
  • --includes                #respect include directives on lookup    尊重包括查找指令
  • --show-origin             #show origin of config (file, standard input, blob, command line)    显示配置(文件、标准输入、数据块、命令行)的来源

(三)提交与修改文件

命令说明
git add添加文件到暂存区
git status查看仓库当前的状态,显示有变更的文件。
git diff比较文件的不同,即暂存区和工作区的差异。
git commit提交暂存区到本地仓库。
git reset回退版本。
git rm将文件从暂存区和工作区中删除。
git mv移动或重命名工作区文件。
git checkout分支切换。
git switch (Git 2.23 版本引入)更清晰地切换分支。
git restore (Git 2.23 版本引入)恢复或撤销文件的更改。

(四)分支

命令说明
git branch列出所有本地分支
git branch -r列出所有远程分支
git branch -a列出所有本地分支和远程分支
git branch [branch-name]新建一个分支,但依然停留在当前分支
git checkout -b [branch]新建一个分支,并切换到该分支
git branch [branch] [commit]新建一个分支,指向指定commit
git branch --track [branch] [remote-branch]新建一个分支,与指定的远程分支建立追踪关系
git branch --set-upstream [branch] [remote-branch]建立追踪关系,在现有分支与指定的远程分支之间
git merge [branch]合并指定分支到当前分支
git cherry-pick [commit]选择一个commit,合并进当前分支
git branch -d [branch-name]删除分支
git push origin --delete [branch-name]删除远程分支
git branch -dr [remote/branch]删除远程分支

(五)标签

命令说明
git tag列出所有tag
git tag [tag] [commit]新建一个tag在指定commit
git tag -d [tag]删除本地tag
git push origin :refs/tags/[tagName]删除远程tag
git show [tag]查看tag信息
git push [remote] [tag]提交指定tag
git push [remote] --tags提交所有tag
git checkout -b [branch] [tag]新建一个分支,指向某个tag

(六)查看信息

命令说明
git status显示有变更的文件

git log

显示当前分支的版本历史
git log --stat显示commit历史,以及每次commit发生变更的文件
git log -S [keyword]搜索提交历史,根据关键词
git log [tag] HEAD --pretty=format:%s显示某个commit之后的所有变动,每个commit占据一行
git log [tag] HEAD --grep feature显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
git log -p [file]显示指定文件相关的每一次diff
git shortlog -sn显示所有提交过的用户,按提交次数排序
git show [commit]显示某次提交的元数据和内容变化
git show --name-only [commit]显示某次提交发生变化的文件
git blame [file]以列表形式查看指定文件的历史修改记录
git reflog显示当前分支的最近几次提交

(七)远程同步

命令说明
git remote列出当前仓库中已配置的远程仓库
git remote -v列出当前仓库中已配置的远程仓库,并显示它们的 URL
git remote add [remote_name] [remote_url]添加一个新的远程仓库。指定一个远程仓库的名称和 URL,将其添加到当前仓库中
git remote rename [old_name] [new_name]将已配置的远程仓库重命名
git remote set-url [remote_name] [new_url]修改指定远程仓库的 URL
git fetch从远程获取代码库

git pull

git pull [远程主机名] [远程分支名]:[本地分支名]

从远程获取代码并合并本地的版本

git push

git push [远程主机名] [本地分支名]:[远程分支名]

从将本地的分支版本上传到远程并合并
git push [remote] --force强行推送当前分支到远程仓库,即使有冲突

(八)撤销

命令说明
git checkout [file]恢复暂存区的指定文件到工作区
git checkout .恢复暂存区的所有文件到工作区
git reset [file]重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset --hard重置暂存区与工作区,与上一次commit保持一致
git reset [commit]重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset --hard [commit]从重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --keep [commit]重置当前HEAD为指定commit,但保持暂存区和工作区不变
git revert [commit]后者的所有变化都将被前者抵消,并且应用到当前分支
git stash暂时将未提交的变化移除,稍后再移入

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值