文章目录
git 下载仓库
git init 初始化文件夹
git clone url
git config -global user.name ""
git config -global user.email ""
git 本地上传仓库
# 第一步: 先在git上手动新建一个空的仓库
# 第二步: 再git clone 到本地
# 第三步: 将需要上传的项目放到这个仓库里
git add .
git status
切记commit 之前 先git pull
git pull origin master
git commit -m ""
git push origin master
git 更改仓库
#查看本地仓库配置
git config --local --list
#删除原有的url
git remote rm origin
#添加目标项目的url
git remote add origin 目标URL
git 更新仓库
单个分支
git pull
git add ./
git commit -m ''
git push
多个分支
新建本地分支提交
git branch newbranch
git branch
git checkout newbranch
git add .
git commit -m ''
git status
git checkout master
git merge newbranch
git push origin master
git branch -D newbranch
多个分支常用命令
#查看分支
git branch
#切换到已有分支
git checkout 分支名
#更新远程仓库分⽀信息到地址
git fetch
#切换或创建和远程同名本地分⽀
git checkout
git pull
git add ./
git commit -m ''
git push
#远程分支名字master,将本地分⽀提交⾄指定远程分⽀
git push origin master
git 查看冲突文件
#查看本地仓库配置
git config --local --list
# 查看冲突文件
git diff --check
git diff --cached
git log
git status
git branch
git 强制覆盖本地
#取回特定分支的更新
git fetch --all
#覆盖本地
git reset --hard origin/master
git pull
git fetch --all && git reset --hard origin/master && git pull
git 强制提交
git commit --no-verify -m 'note lint-staged'
git 回退到某个版本
git log
git reset --hard a9d19df7f481e6512b68815748c4e1db9990704e
git 删除远程仓库文件
# 方法一:删除本地提交
git add .
git commit -m 'delete'
git push
# 方法二:直接删除远程
git rm -r --cached 小感悟.md
git commit -m '删除'
git push origin master
git 暴力覆盖远程仓库
# 强制推送到远程仓库,且覆盖远程代码库
git push -f origin master
git push 常见报错
1.git push后显示Everything up-to-date
情景复现
本地通过 git checkout -b feat/coding 命令从master中拉取了一个新的分支 feat/coding,并在此分支上进行了开发。
如果我们此时使用命令git push origin master,就会报错Everything up-to-date提示
解决1
但是我们实际上更改的是本地的feat/coding分支,如果我们要将本地分支直接合并到远端的master分支上,则我们需要用指令:
# 查看分支
git branch
git push origin 本地分支名:master
假如我们只是想将本地的feat/coding分支推送到远端的代码仓库里,为以后的在远端平台上进行code review的话,我们则可以用指令:
git push origin 本地分支名
解决2
本地远程一致,也是会出现这样信息
2.git push 后报错“fatal: The current branch origin has no upstream branch. To push the current branch and set the remote as upstream, use”
应该先add,再commit,然后git push
3.git commit后报错Changes not staged for commit:
第一步:
git commit -am "au"
执行后可能能成功push,也有可能没成功输出如下信息:
On branch master
Your branch is up to date with ‘origin/master’.
nothing to commit, working tree clean
第二步:
根本原因是版本分支的问题
创建本地新的分支合并提交master,命令见上方
4.git pull报错
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
# 究其原因是因为curl的postBuffer的默认值太小,我们需要调整它的大小,在终端重新配置大小
git config --global http.postBuffer 524288000
linux配置git自动认证
# 生成公钥
ssh-keygen -t rsa -C "1609406532@qq.com"
# 执行后,会出现一个输入公钥name的信息,如下
Enter file in which to save the key (/root/.ssh/id_rsa): myuse
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
# 进入生成的公私钥文件夹
cd ~/.ssh
# 配置私钥
ssh-add id_rsa
如果报错,如下图
# 报错执行此语句
ssh-agent bash
# 查看公钥
cat id_rsa.pub
# 将id_rsa.pub文件中的内容复制拷到github上的settings--》SSH,添加公钥
# 验证是否成功
ssh -T git@github.com
出现下图,表示成功