git基础

本文详细介绍了如何在Git中初始化仓库、添加修改到暂存区、查看提交历史、撤销和恢复操作,以及处理远程仓库、标签和分支的管理。
摘要由CSDN通过智能技术生成

初始化仓库


方式一:将本地仓库初始化为git仓库

git init

方式二:从远程服务器克隆一个已经存在的仓库

git clone 远程仓库地址 [可选;自定义仓库名称]

添加修改到暂存区


添加指定文件的修改到暂存:区git add 文件名

添加所有修改:git add * 或者 git add .

添加所有txt文件修改:git add *.txt

查看提交历史


查看日志:git log

查看日志,按行显示(显示精简信息):git log --oneline

查看日志,按行显示(显示完整信息):git log --pretty=oneline

图形化显示日志:git log --oneline --decorate --graph --all 

查看引用日志: git reflog   

撤销


恢复删除文件


这里要按删除的方式来分别讨论,删除方式不同,恢复的方式就会不同,常见的删除方式如下:

rm 文件名

相当于在目录中删除文件,这种方式只删除了工作区的文件,本地库和暂存区中还保存有该文件。

git rm --cached 文件名

这种方式只删除了暂存区的文件,但是本地库和工作区还保存有该文件

git rm 文件名

这种方式删除了暂存区和工作区的文件,但是本地库还保存有文件。

对应的恢复方式如下:

恢复到暂存区

git restore --staged 文件名 ,从本地库恢复到暂存区。

恢复到工作区

git restore文件名  ,从暂存区恢复到工作区。

恢复到暂存区和工作区

先git restore --staged 文件名 ,从本地库恢复到暂存区,

再git restore文件名 ,从暂存区恢复到工作区。

撤回修改


丢弃文件中所有的修改,回到最后一次提交的状态。

git checkout  -- 文件名

或者 git restore文件名

撤回暂存


先git restore --staged 文件名 ,从本地库恢复到暂存区,

再git restore文件名 ,从暂存区恢复到工作区。

撤回提交


reset操作要慎重使用,它是撤回到指定的提交点,reset之后,它之后的提交记录都会消失。尤其是git reset --hard 提交id,它会丢弃本地的所有修改。而且reset不适用于已经提交到远程仓库的撤回,在本地库使用更合适。

git reset --soft 提交id

只是移动HEAD,指向本地库中指定提交id的快照,但是暂存区跟工作区的内容没有变化,此时如果需要让暂存区跟本地库一致的话,可以执行 git restore --staged 文件名,如果需要让工作区跟暂存区一致的话,可以执行 git restore 文件名

git reset --mixed 提交id

移动HEAD指针,指向本地库中指定提交id的快照,并更新暂存区的内容,工作区的内容不变,如果需要让工作区跟暂存区一致的话,可以执行 git restore 文件名。

git reset --hard 提交id

移动HEAD,指向本地库中指定提交id的快照,更新暂存区和工作区的内容。

还原提交


git revert 提交id

revert用来还原指定的提交,它会生成一个新的提交来覆盖指定的提交,新的提交内容就是指定记录的上一次提交,但是它之后的提交历史都会保留。

远程仓库


查看远程仓库: 

git remote

git remote -v

添加远程仓库

git remote add 仓库名称  仓库地址

推送到远程仓库

Git push 仓库名 分支名

默认是推送到 仓库的master ,相当于执行  git push origin master,也可以简写成 git push

查看某个远程仓库

Git remote show 仓库名称

修改远程仓库名称  

git remote rename 旧名称  新名称

删除远程仓库  

git remote rm 仓库名称  或者  git remote remove 仓库名称

标签


比较有代表性的是标记发布结点( v1.0 、 v2.0 等等)

轻量标签

git tag tag名称 提交id ,给提交记录添加tag

附注标签

git tag -a tag名称 -m 描述信息

查看标签 git show tag名称

git tag 查看tag

git log tag名称 查看tag相关的提交记录

推送标签到远程仓库  git push origin tag名称

推送所有标签到远程仓库 git push origin --tags

删除标签

git tag -d tag名称 ,这样只会删除本地的标签

如果需要把这个删除操作推送到远程仓库,执行

git push origin :refs/tags/tag名称

或者

git push origin --delete tag名称

检出标签

git checkout -b  tag名称 ,根据tag创建分支,并切换到该分支

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值