git技能学习

这篇博客介绍了Git的基本概念,包括工作区、暂存区、本地仓库和远程仓库。详细阐述了Git的常用操作,如初始化、添加、提交、回退和版本恢复。还涉及分支管理和标签管理,强调了master分支的稳定性。最后讲解了如何与远程仓库交互,为开发者提供了全面的Git学习路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单概念

workapace: 工作区 当前目录
Index/Stage: 暂存区 git add 后添加文件的相关信息(文件名、大小…),暂存区标记了你当前工作区中,那些内容被Git整理的
Repository: 本地仓库 git commit 后同步index的目录树到本地仓库
Remote: 远程仓库

基本操作

git init 在当前目录初始化一个git代码库

git add [file] 添加指定的文件信息到暂存区
git commit -m “添加信息” 注:一定要加-m “” 常常忘掉,报错
git rm [file] 见下面代码片段

[ubpara Garden]$git rm readme.md
error: 下列文件索引中有变更
    readme.md
(使用 --cached 保留本地文件,或用 -f 强制删除)
//若要删除add添加到暂存区的文件,但没有commit时,会报错提示

git mv [old] [new] 同时修改暂存区文件的文件名,并同步到工作区

git status 显示有变更的文件
git log [–oneline] [–graph] [–all] [n] 显示版本历史

[--oneline] 简化信息一行显示
[--all] 显示所有分支,不加仅显示当前分支
[--graph] 显示版本信息加颜色(主要在针对多分支)
[n] 显示n条历史信息

git branch -av 查看版本分支(包括本地和远程) 下面会介绍

版本穿梭

HEAD 指向当前处分支的最新的提交点(commit)

1.回退

1.[ubpara Garden]$ git log --oneline
0ae3563 Third
9aaf784 Second
c6ce7be First
a595411 2019.1.17

2.[ubpara Garden]$ git reset --hard c6ce7be  //将头指针指向版本号
HEAD 现在位于 c6ce7be First

3.[ubpara Garden]$ git log --oneline  //查看当前分支版本已经回退到First 
c6ce7be First
a595411 2019.1.17

2.版本恢复

现在又想恢复回原来的工作区
1.[ubpara Garden]$git reflog //查找到之前的版本号
c6ce7be HEAD@{0}: reset: moving to c6ce7be
0ae3563 HEAD@{1}: commit: Third
9aaf784 HEAD@{2}: commit: Second
c6ce7be HEAD@{3}: commit: First
a595411 HEAD@{4}: commit: 2019.1.17
b9c7768 HEAD@{5}: commit (initial): first commit

2.[ubpara Garden]$git reset --hard 0ae3563 //将头指针指向版本号
HEAD 现在位于 0ae3563 Third

3.[ubpara Garden]$git log --oneline
0ae3563 Third
9aaf784 Second
c6ce7be First
a595411 2019.1.17
b9c7768 first commit

: 若git reset 版本号 (不加–hard ) 只是将暂存区恢复到版本,工作区还没有改变,需要
‘git checkout – README.md’ 清理工作区成变更之前的样子(-- 代表原来的)

总结:不同版本之间的穿越,基于获取不同版本的版本号(哈希数),然后将头指针指向此版本(reset --hard),同时同步工作区.

分支管理

指令操作
git branch -av  //查看分支
不加'-av':列出所有本地分支
'-a':列出所有本地分支和远程分支
'-v':列出分支的细节信息

git branch -d [branch-name]  //删除分支
(注意:删除分支的时候,不能在当前分支,而同时删除当前分支)
git branch -D [branch-name]  //丢弃一个没有被合并过的分支,-D强行删除

git checkout -b [branch-name] //新建一个分支,并且切换到该分支 (不加-b 依然停留在当前分支)
==相当于 
git branch [branch-name]
git checkout [branch-name] 

git checkout [branch-name]  //切换分支,并更新工作区
git checkout -  //切换到上一个分支

git merge [branch-name]  //合并指定分支到当前分支

主分支:当初始化后(git init) 第一次提交(git commit)会自动生成master 主分支,master主分支一旦生成,不能删除

第一次使用合并分支的时候,会冒出疑问,若同一个地方修改了如何合并分支。不用担心,若出现冲突,当前分支的文件中会将其内容都添加到工作区(如下)。当你进行修改,提交到仓库才行。

<<<<<<< HEAD
# branch +2
=======
# branch +1
>>>>>>> new

分支策略
1.master分支应该是非常稳定的,仅用来合并分支、发布新版本
2.一般会新建一个分支dev

标签管理

标签总是和某个commit挂钩,如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签

git tag [tag-name]  //为当前commit打一个新的标签
git tag [tag-name] [版本号] //在此版本号打一个新的标签
git tag -a [tag-name] -m "message" [版本号]

git tag //查看所有标签
git show [tag-name] //查看标签信息
git tag -d [tag-name] //删除标签

远程仓库

本地Git仓库和GitHub仓库建立连接–>廖雪峰Git教程

git remote add origin  git@github.com:zhoupara/Garden.git //关联
               远程库名
git push -u origin master //将master分支的内容推送到origin远程库 
git clone git@github.com:zhoupara/Garden.git  //从远程库克隆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值