git简单使用

本文详细介绍了Git的基本配置,包括设置用户信息和SSH秘钥。接着,阐述了Git的三大区:工作区、暂存区和版本库。文章列举了常用Git指令,如status、log、clone、fetch、pull等,并讲解了stash用于暂存未提交的修改。此外,还涵盖了cherry-pick和rebase等高级功能,以及submodule管理和reset操作。最后,提到了如何管理远程仓库的url地址。
摘要由CSDN通过智能技术生成

1.配置

设置用+密码
git config --global --list //查看本地配置
git config --global user.name “…”
git config --global user.email “…”
配置秘钥
ssh-keygen -t rsa -C “邮箱”
会生成id_rsa和id_rsa.pub两个文件,其中秘钥在id_rsa.pub文件中,通过文本方式打开将秘钥添加到仓库的配置中即可执行git指令相关操作。

2.三大区

工作区:能看见操作的区域
暂存区:add之后数据暂存的区域
版本库:commit后存放数据的区域,push时即将该区域的数据同步到远程仓库

3.基本指令

git status:git status 查看当前分支状态
git log:查看commit的log
git reflog:查看所有分支的log,包括已删除的和reset的
git clone:克隆远程仓库到本地
git fetch:更新git remote 中所有的远程仓库所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
git fetch <远程主机名> //这个命令将某个远程主机的更新全部取回本地
git fetch <远程主机名> <分支名> //取回特定分支
eg:git fetch origin master
git pull:git pull = git fetch + git merge
将远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为:git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略:git pull origin next
branch
git branch //查看本地所有分支 git branch -a //查看远程所有分支
git branch -d dev //删除dev分支 git branch -D dev //强制删
git push origin --delete dev//删除远程的dev分支
checkout:
git checkout -b dev//创建并切换到dev分支
git checkout dev//切换到dev分支
git clean -nd 预演将要删除的目录,该目录不在版本控制中
git clean -df强制删除不在版本控制中的目录

4.stash指令

不想提交当前的修改,但又需要切换到其他分支解决其他bug,可使用stash把当前的修改保存起来不提交,解决其他问题后再恢复该修改。不局限于一个分支,可夸分支操作。
git stash//保存当前现场的修改
git stash save “…”//保存当前现场的修改,并命名为…
git stash list//查看所有stash
git stash apply//默认恢复最新一次的stash,但不删除该stash
git stash apply stash@{n}//恢复某个stash
git stash pop//恢复某个stash,并删除,默认顶部的
git stash drop stash@{n}//删除某个stash
git stash clear//删除所有的stash

5.cherry-pick

将一个分支移到另一个分支之下
git cherry-pick commitHash//将指定的提交移到当前分支
git cherry-pick dev_name//将制定的分支移到当前分支
git cherry-pick HashA HashB//将多个提交移到当前分支
如果操作过程中发生代码冲突,Cherry pick 会停下来,让用户决定如何继续操作。
(1)–continue
用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 Cherry pick 过程继续执行。
$ git cherry-pick --continue
(2)–abort
发生代码冲突后,放弃合并,回到操作前的样子。
(3)–quit
发生代码冲突后,退出 Cherry pick,但是不回到操作前的样子。

6.rebase

改变一个分支的父节点
两个开发从仓库一个节点拉取,开发A先完成并合并,开发B(dev分支)后完成再合并;
(1):B先拉取最新的代码到本地master;
(2):在dev分支上:git rebase master//变基;
(3):然后可在dev分支上进行相关commit push操作;
(4):切回master分支后可进行一次快进合并(git merge dev),保证master分支为最新内容;
在这里插入图片描述

7.submodule

将一个仓库的代码作为另一个项目的子模块 git submodule add git的路径地址
一个仓库中有另一个仓库作为子模块 git submodule init //首次使用带有独立子模块的仓库
git submodule update //更新

8.reset

git reset [–soft | --mixed | --hard] HEAD
–mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
–soft用于重置版本库内的信息,工作区的改动不变
–hard回退所有,包括工作区的内容
git reset --hard HEAD//撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。HEAD^表示上个版本,HEAD~n表示前面n个版本,
revert
git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去

9.url地址相关——remote

将一个本地文件提交到某一个仓库
(1)初始化本地:git init
(2)在.gitignore里添加忽略文件
(3)git add 和git commit
(4)git remote add origin git地址//和远程仓库建立连接
git remote set-url origin git地址//更改仓库地址,原先已经链接的有相应仓库
(5)git push -u origin master//将本地分支推送到远程仓库的master分支
(6) git remote get-url origin //获取对应的仓库地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值