linux的git命令学习[常见命令]

linux的git命令学习

工作做使用vscode下的git插件来管理代码的。

#安装git

apt-get install git  

#配置ssh密钥

ssh-keygen -t rsa -C "name"

cat ~/.ssh/id_rsa.pub

#复制ssh密钥到github账号配置好就可以进行ssh克隆了

#配置账号,邮箱

git config --global user.name "Your Name“

git config --global user.email email@example.com

#创建版本库

git init

#拉取代码

#拉起master主分支代码
git clone ssh://git@xxxxxxx

#需拉取其他declop分支代码
git clone ssh://git@xxxxxxx  #克隆代码
git checkout develop		#切换develop分支
git branch  #查询当前分支

拉取对应标签的版本
git checkout -b new_branch v1.0
git checkout -b [分支名称] [tag标签名称]

#提交代码

#自己是最新的状态
#添加到暂存区
git add xx文件名    或者  git add .当前目录修改的文件
git status  #查看修改了哪些文件 查看工作区文件状态
git diff xx文件名  #某个文件具体修改了什么内容
#添加到本地仓库
git commit -m "xxx备注"
#推送到远程仓库  因为默认本地分支为origin
git push origin master

#修改文件

git status  #查看状态
git diff #查看改动地方
git add 
git commit -m ""
git push origin master

#修改文件

#1、修改工作区修改的文件,就是没有add的
git status
git checkout --  xxx文件名

#2、回复add之后的文件
git status #查看文件状态
git reset HEAD xxx文件   回到暂存区了,再次就可以checkout

#3、恢复commit之后的文件
git log 查看commit提交日志
# HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上版本
git reset --hard HEAD^ 
#再可以查看文件是否恢复过来了

#删除恢复文件

#1、工作台删除要恢复
git checkout -- xxx文件名
#2、需要删除提交仓库
git rm xxx文件名

#提交存在冲突

#先push报错,提示自动合并失败
git diff origin/master  #对吧当前仓库和远程仓库区别
解决冲突
再次git add,commit,push提交

#使用分支合并式开发

#查看分支情况
git branch
#新建分支
git branch	avi
#再次查看分支情况
git branch
#切换进入分支
git checkout avi
#修改add,commit文件
#切换master分支
git checkout matser
#合并
git merge
#查看文本
ll
#删除分支
git branch -d avi
git branch #查看分支是否被删除
#分支合并最新代码
git merge master

#本地更新远程分支情况

#这个命令会从所有配置的远程仓库中获取最新的信息,并更新本地的远程分支跟踪。 一旦完成,您可以通过查看所有分支来确认分支是否已成功获取
git fetch --all 

#更新子模块

要更新 Git 子模块,您可以执行以下步骤:

进入包含子模块的父项目的根目录。 注意目录层次,是位于子模块文件夹的外面

使用以下命令拉取最新的子模块更改:

shell
git submodule update --remote <子模块名称>
<子模块名称> 是要更新的子模块的名称。如果要更新所有子模块,可以省略 <子模块名称>。

提交父项目对子模块的更新:

shell
git add <子模块路径>
git commit -m "更新子模块"
<子模块路径> 是子模块在父项目中的路径。

推送父项目和子模块的更新到远程仓库:

shell
git push
这样就完成了 Git 子模块的更新。

请注意,更新子模块将会改变父项目引用的子模块的版本。确保在更新之前备份任何重要的更改,并确保您对子模块的所做的更改不会丢失。

子模块提交
在父仓库中对子模块进行修改,比如切换到不同的提交、分支或标签。
在父仓库中运行 git status 命令,会看到子模块目录下有改动。
使用 git add <submodule-path> 将子模块的引用指针变化记录到暂存区。
运行 git commit -m "Update submodule to latest version" 提交父仓库的改动,包括子模块的引用指针变化。
最后运行 git push 推送父仓库的改动。

#tag版本的相关操作

创建标签:

创建一个轻量标签:git tag <tag_name>
创建一个带注释的标签:git tag -a <tag_name> -m "tag message"
查看标签:

查看所有标签:git tag
查看特定标签信息:git show <tag_name>
推送标签到远程仓库:

推送单个标签:git push origin <tag_name>
推送所有标签:git push origin --tags
删除标签:

删除本地标签:git tag -d <tag_name>
删除远程标签:git push origin :refs/tags/<tag_name>
检出标签:

检出特定标签:git checkout <tag_name>
列出符合特定条件的标签:

列出符合特定模式的标签:git tag -l 'v1.0.*'
查找符合特定提交的标签:

查找包含某个提交的标签:git tag --contains <commit_hash>
通过这些基本的 git tag 相关操作,你可以在代码仓库中更好地管理和跟
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值