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) -- :将工作区某文件恢复至上一次add或commit的状态
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学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程