0

0

完全掌握Linux和Windows下git的基本操作

WBOY

WBOY

发布时间:2022-03-10 18:07:46

|

2315人浏览过

|

来源于CSDN

转载

本篇文章给大家带来了关于git的相关知识,其中主要介绍了linux和windows下git的基本操作,希望对大家有帮助。

完全掌握Linux和Windows下git的基本操作

推荐学习:《Git教程

git学习笔记——Linux和Windows下git的基本操作

github主页:https://github.com/Taot-chen

一、Linux环境

1、安装git

sudo apt-get install git

2、设置git账号信息

git config --global user.name "你的git账号用户名"git config --global user.email "你的邮箱"

3、设置让credential helper 帮助我们在一定时间内在内存中保存我们的code,其中第二行为设置超时的时间

git config --global credential.helper cachegit config --global credential.helper 'cache --timeout=3600'

4、获取ssh秘钥和远程GIT关联

ssh-keygen -t rsa -C "你的邮箱"# 之后一路回车cd ~/.ssh 
cat id_rsa.pub# 再在Terminal中复制密钥,添加到github的settings的SSH公钥中,完成免密码登录关联
# 验证ssh通信情况,提示连接成功即可ssh -T git@github.com# 其他操作就和为windows的几乎一致

5、push常用命令

git init # 初始化本地仓库git config --list
 # 可以查看你的git配置信息
 # 提交文件到本地仓库git add abc.cppgit commit -m "first commit" //-m 用于指定本次提交的描述信息
 # 提交到repositorygit remote add origin "github仓库ssh地址"	//关联仓库git push origin master #master 是分支名
 # 以后若提交到相同仓库,提交到本地仓库之后,直接git push即可# 克隆项目git clone "项目的ssh地址"

6、push报错时调大缓存

git config http.postBuffer 52428800		//(根据文件大小随便调整)

二、Windows环境

1、版本控制;备份与修改

1)本地版本控制系统

 把版本号存入数据库,来区分记录版本的更迭。

2)集中化版本控制系统(CVCS)

 具有一个专门用于存放版本的修订版本的服务器,并且能够借助版本记录来方便地定位相关的记录。

3)分布式版本控制系统(DVCS)

 客户端不只是提取出最新版本的文件快照,而是把最原始的代码仓库镜像到本地,任何一处协同处理的服务器故障,事后都可以用任何一个镜像出来的本地仓库恢复。

2、Windows下git的安装和配置

1)安装

 在git官网下载安装对应的版本,在菜单中找到Git->Git Bash,出现命令行窗口,即是安装成功。

  • 查看版本:

    git --version

2)配置用户名和邮箱

git config --gobal user.name "your user name"     
# 配置用户名git config --gobal user.email "your email"    
#配置邮箱git config --list     
# 查看所有配置

3、git文件的三种状态和工作模式

1)三种状态

  • 已提交(committed):数据已经安全地保存到本地数据库中
  • 已修改(modified):修改了文件,但还没保存到数据库中
  • 已暂存(staged):对一个已修改的文件的当前版本作了标记,使之包含在下次提交的快照中

2)三个工作区域

  • 工作区:本地项目目录
  • 暂存区:对修改后的文件进行快照,添加到暂存区
  • git仓库:工作区的隐藏目录.git,不算是工作区,是git的版本库

3)git的工作流程

  • 在工作区中修改某些文件;
  • 对修改后的文件进行快照,添加到暂存区
  • 提交更新,将保存在暂存区的快照永久存储在git仓库中

    拉取: git仓库->本地工作区

    提交: 本地工作区->暂存区->git仓库

4、创建版本库并提交文件

1)初始化本地仓库

 在本地初始化一个没有任何文件的空仓库。

git init

2)新建文件夹git01.txt并添加到暂存区

git add     
# 将文件添加到暂存区git add .   
# 提交当前目录的全部文件git status  
# 查看文件的状态git commit  
# 将暂存区的文件提交到本地仓库git log     
# 查看完整的提交日志信息git diff HEAD --file    
# 查看文件法file历次提交的区别

例如:

Git Bash

git init    
# 创建空仓库git add git01.txt   
# 将文件git01.txt添加到缓存区git commit -m '第一次提交'   
#提交文件到本地仓库,单引号内的内容是本次提交的注释,必须要有git status    
# 查看暂存区文件状态git log    
 # 查看完整的提交记录

5、文件修改与提交修改

 可以直接在工作区文件中进行修改,之后再添加到暂存区,提交到本地仓库

注: 提交之前必须先添加到暂存区

1)暂存区文件的提交与撤销

  • 提交:git add/git commit

  • 撤销:

     从暂存区移除:

    易企CMS1.8
    易企CMS1.8

    易企CMS:国内首款完全基于SEO友好性开发的营销型企业网站系统,让企业网络营销从此易如反掌。 本程序特征:100%开发源代码,免费开源;后台管理操作简单易行;模板div+css标准设计,符合w3c标准,兼容主流浏览器;开发语言和数据库:PHP+Mysql。 本程序亮点:从基础代码开发起完全符合SEOWHY理论的SEO规范,力图实现国内首款对SEO最友好的企业网站开源程序,为企业网络营销的巨大成功

    下载
    git restore --staged git02.txt   
    # 从暂存区移除文件git02.txtgit reset HEAD git02.txt    
    # 取消关于文件git02.txt上一次的操作

2)版本回退

简化显示提交记录:

git log --pretty=oneline

此时HEAD指针默认指向最后一次提交的记录。版本回退就是让HEAD指针想要回退到的版本。

git reset --hard HEAD^    
# 回退一个版本git reset --hard HEAD^^   
# 回退两个版本git reset --hard HEAD~n   
# 回退n个版本git reset --hard "版本识别码”   
# 回退或者前进到版本识别码所在的版本git reflog    
# 显示所有的提交记录(包括HEAD指向的版本之后的版本),即可以显示用户的每一次操作的记录

3)文件删除

git ls-files    
# 查看本地仓库的文件目录git rm filename   
# 删除文件filename
# 另一种删除方法:现在工作区删除文件,之后再提交操作即可

6、远程仓库

1)github

git clone "项目地址"(github地址)    
# 下载github项目(可以不登陆)

2)ssh下载(需要登陆)

# 首先需要在gitbash中生成一个keyssh-keygen -t rsa -C "github邮箱"
# 找到生成的公钥,打开后复制,之后再去github中添加`SSH and GPG keys`
# 验证有没有添加成功ssh -T git@github.com# 出现您以被成功认证即可(即此时已经将ssh绑定了github)
# 下载项目git clone "项目地址" (ssh地址)

3)本地项目(本地仓库)推到远程仓库

# 在github新建一个仓库# 将本地项目提交到本地仓库
# 将本地仓库绑定github上面的远程仓库git remote add origin "github仓库地址"
# 将其推到远程仓库的主干上(远程仓库中包含本地仓库的所有提交记录)git push -u origin master
# 以后的更新推送,只需要在本地提交完成之后,直接如下命令git push

7、git分支操作

 主干是已经上线的项目,分支中的任何操作都不会影响主干的功能。在分支完善无误之后,再将其合并到主干即可。

1)本地分支操作

常用基本命令

命令 描述
git checkout branch 切换到指定分支
git checkout -b new_branch 新建分支并切换到新建分支
git branch -d branch 删除指定分支
git branch 查看所有分支,并且*标记当前所在分支
git merge branch 合并分支
git branch -m / -M oldbranch newbranch 重命名分支,如果new_branch名字分支已经存在,则需要使用-M强制重命名
  • 切换到指定分支:git checkout branch
  • 新建分支并切换到新建分支:git checkout -b new_branch
  • 删除指定分支:git branch -d branch
  • 查看所有分支,并且*标记当前所在分支:git branch
  • 合并分支:git merge branch
  • 重命名分支,如果new_branch名字分支已经存在,则需要使用-M强制重命名:git branch -m | -M oldbranch newbranch

    注:

    只能在主干分支上来合并分支,不可反过来。(虽然git不会报错,但是这样是不可以的)

    分支所具有的内容,就是创建分支的时候主干所具有的内容。

2)远程分支操作

分支push和pull

相关命令

命令 描述
git branch -a 查看本地与远程分支
git push origin branch_name 推送本地分支到远程
git push origin :remote_branch 删除远程分支(本地分支还保留)
git checkout -b local_branch origin/remote_branch 拉取远程指定分支并在本地创建分支

获取远程分支的最新状态

git fetch

图表的方式显示操作记录

git log --graph --pretty=oneline

3)本地分支冲突解决

# 当分支和主干的同一文件的同一行不同的时候,合并分支就会出现冲突
# 根据具体的需要修改,使之相同即可

4)多人协同操作冲突

# 两个用户对同一个文件的同一行进行了不同的操作
# 解决方法:在推送之期拉一下远程仓库,在本地根据具体的需求解决完冲突之后再推送

9、标签管理

标签操作基本命令git tag

命令 描述
git tag tag_name 新建标签,默认为HEAD
git tag -a tag_name -m ‘xxx’ 添加标签并指定标签描述信息
git tag 查看所有标签
git tag -d tag_name 删除一个本地标签
git push origin tag_name 推送本地标签到远程
git push origin --tags 推送全部未推送过的本地标签到远程
git push origin :refs/tags/tag_name 删除一个远程标签

10、Idea下git基本操作

1)环境集成配置

Configure->Settings->搜索git->在Path to Git executable中添加git的安装路径(一直到git.exe)->test->出现版本号,即表示成功->添加github


File->Other Settings->Setting for New Projects->Git/Git Hub

2)推送项目到远程仓库

项目提交到本地仓库->创建远程仓库->绑定远程仓库->推送到远程仓库

3)分支操作

4)gitignore插件

5)冲突及其解决

推荐学习:《Git学习教程

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

319

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

227

2023.10.07

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

637

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

523

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

262

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

538

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

511

2024.04.09

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

512

2023.07.26

桌面文件位置介绍
桌面文件位置介绍

本专题整合了桌面文件相关教程,阅读专题下面的文章了解更多内容。

0

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.3万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.5万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号