Git学习
2022/3/1 6:21:54
本文主要是介绍Git学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
参考廖雪峰大佬的Git教程进行学习:廖雪峰的Git教程
Git安装
1.Linux
Debian/Ubuntu:"sudo apt-get install git(git-core)":包管理获取安装包
其他:下载git源码并解压后,"./config","make","sudo make install"
2.Windows
正常安装即可
安装完后需要设置本地的用户与地址
- git config --global use.email "example@email.com"
Git命令
git init:初始化仓库
git commit -m "msg":提交改动,备注"msg"
git commit:跳出"EDITMSG"文件要求写入提交说明,否则提交失败,写入后保存退出即可
git add "file1.txt" "file2.txt":添加改动过的文件
ls/dir:查看当前目录下的文件夹
ls -ah:显示当前目录下所有的文件夹(隐藏文件夹多以"."开头)
pwd:显示当前目录
git status:查看当前工作区状况,工作区与版本库的比较以及工作区与缓存区的比较
git diff
git diff HEAD --
git log:查看历史提交情况
--pretty=oneline:查看历史版本并只显示版本号与说明
--abbrev-commit:缩略版本号
--graph:显示时间线
git reset --hard HEAD(^/~100):回退至上一个版本/两个版本前/一百个版本前
git reset HEAD
git reset HEAD^
git reflog:查看历史命令
git checkout(restore) --
rm
git rm:确认删除修改
git rm --cached
--f
git push origin master:将本地"master"分支推送至"origin"仓库
git push -u origin master:推送并关联两个仓库
git pull origin main:将origin仓库main分支拉取至本地
--allow-unrelated-histories:拉取或推送的同时允许合并两个不关联分支
ssh-keygen -t rsa -C "youremail@example.com":创建ssh密钥
ssh-keygen.exe:创建ssh密钥
git remote -v:查看远程库信息
git remote rm
git branch dev:创建新分支"dev"
git checkout dev/git switch dev:切换到"dev"分支
git checkout -b dev/git switch -c dev:创建并切换到"dev"分支
git branch:查看当前分支
git branch -d dev:删除"dev"分支
-D:强行删除分支
git merge dev:合并"dev"分支到当前分支(同时选择多个分支会出错)
--no-ff:禁用"fastforward",保留合并时间线
git mv
git stash:暂存工作区
git stash list:查看暂存列表
git stash apply (stash@{0}):保留(指定版本的)暂存并恢复
git stash drop:删除暂存(默认为"stash@{0}"版本)
git stash pop:恢复暂存并删除
git cherry-pick
git checkout -b dev origin/dev:创建远程仓库已有的"dev"分支(将两者链接)
git branch --set-upstream-to=origin/main main:链接远程库的"main"分支与本地库的"main"分支用于"pull"
git branch --set-upstream-to origin/main main:同上
git branch --set-upstream-to=origin/main:将当前分支与远程库的"main"分支链接
git rebase:把本地未push的分叉提交历史整理成直线
特别注意
Windows自带的记事本编辑UTF-8编码的文件会在开头加上0xefbbbf的字符
git缓存区中对同一文件的修改,在未提交前新的覆盖旧的
git支持多种语言,但ssh协议最快;https协议每次使用都需要口令
"git log"后按q退出
报错
"no tracking information"
分析:本地分支和远程分支的链接关系没有创建,用如下命令创建链接关系:
git branch --set-upstream-to <remoteBranchPath> <branchName>
"OpenSSL SSL_read: Connection was reset, errno 10054"
分析:SSL证书认证出现问题,可试着解除SSL认证:
git config --global http.sslVerify "false"
"fatal: refusing to merge unrelated histories"
分析:本地与远程的分支合并出现了问题,可在命令后加上"--allow-unrelated-histories"合并分支,例如:
git pull origin main --allow-unrelated-histories
"Updates were rejected because the tip of your current branch is behind its remote counterpart."
分析:提交出现冲突,先将远程分支拉取至本地合并,解决冲突后再次推送即可
这篇关于Git学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行