马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我决定本身写一篇文章,否则每次玩git都要找许多文章搞半天才会,很浪费时间!!!!!!!!!
本文包罗怎样用git将远程堆栈拉取到当地、创建远程分支和一些标题标办理方案等,非常之详细!!!
1、在桌面新建一个文件夹
起首在桌面新建一个文件夹,打开该文件夹,点击右键,选择“Git Bash Here”
2、git clone repository
起首复制须要克隆的远程堆栈的所在:
在下令行输入git clone [the url of the repository]:
由上图可见,已乐成将远程堆栈克隆到当地。
3、git branch查察分支
克隆完看看有哪些分支吧。但是起首你要进入当地堆栈的文件夹里,然后在这个文件夹里重新打开git bash下令行,举行后续操纵。
上图中标黄的文件夹就是我克隆下来的当地堆栈。打开这个文件夹,在空缺处点击右键,选择git bash here,再次打开git bash下令行。
下面是一些查察分支的下令:
git branch - 查察当地分支
git branch -r - 查察远程分支
git branch -a - 查察当地堆栈和远程分支 (a 是 all 的简写)
演示一下区别:
4、git branch新建分支
git branch newBranch - 新建当地分支newBranch
git checkout newBranch - 切换到当地分支newBranch
乐成新建名为“newBranch”的新分支,同时利用切换分支的下令,将分支从(main)切换到了(newBranch)。
5、git push推送新分支
我现在在当地堆栈新建一个test.txt文件,想要把这个改动推送到远程堆栈,但是又不想修改远程堆栈main分支下的内容,以是我要把我的新分支推到远程堆栈里。做完改动的项目属于我的newBranch分支下面,main分支下面的项目照旧原来谁人。
起告急运行git add test.txt下令,然后运行git commit -m “备注内容”(这个备注内容是你提交这次改动写的备注信息),末了提交改动到指定分支:git push origin newBranch
好呢堕落了……我看看怎么办理这个标题……
很满足,一下子就找到了办理方案,放个链接在这里:
git:上传代码时,出现fatal: unable to access ‘XXX‘: Recv failure: Connection was reset 错误办理方法
但是可以不看这个链接,直接看我下面的办理办法,由于我只做了这篇文章说的第一步。
直接在git bash下令行里运行以下两行代码:
- git config --global --unset http.proxy
- git config --global --unset https.proxy
复制代码 来看看结果:
乐成了吧!来看看远程堆栈是不是有新分支了:
牛哇牛哇乐成啦!!!!!!!!!!!!!!!!!
下面是关于git push的增补内容……
增补内容:关于git push
- git add .:以后每次对当地堆栈做了改动,都可以直接运行这条下令。add背面的点表现全部改动。由于假如每个改动文件都要运行一遍git add filename,显然非常贫困,以是直接运行git add . 就好了。
- 为什么要有 add->commit->push 这连续串的操纵?之前我看过干系视频,现在懒得查资料了,以是就说说我的明白吧!
- 起首你可以想象当地堆栈和远程堆栈之间有个缓冲区。add 这个操纵相称于把你的全部改动放到了这个缓冲区里,commit 这个操纵相称于把你这些改动打包成一个包裹,而且写一个备注,表现你为什么要提交这些改动,做个备注也能资助本身知道这次提交改动的目标是什么。好比你就是想测试能不能push乐成,你就可以git commit -m “test push” 。末了push 操纵就是把这个包裹送到远程堆栈,对远程堆栈的相应分支举行修改。完毕!
- 好实在我前几天就开始搞这个当地新建分支然后推送到远程堆栈了,实在碰到了好些标题!但是都很快办理了!以是假如在做的过程中碰到了其他的标题,直接去csdn搜一搜很快就能办理!
- 假如我那里说的有标题大概我的明白有标题,渴望有美意人资助指正一下!谢谢!
- 哦这篇文章后续应该还会更新,好比怎样把其他分支归并到main分支里?固然csdn上多的是干系文章,但是到时间我须要做这个的话,我照旧会把详细操纵增补到这篇文章里。
2023.03.26:idea推送分支
用idea把当地堆栈打开,对堆栈举行修改以后,点击Git,先选择commit并添加备注,然后选择push,就能把新做的改动push到远程堆栈的相应分支下。
2023.04.17:分支归并到master
假如这个分支叫做test,那么实验以下操纵:(我一下子就归并乐成了)
- git checkout master
- git pull origin master
- git merge test
- git push origin master
复制代码 2023.04.17:删除当地分支和远程分支
假如这个分支叫做test,那么实验以下操纵:(我一下子就删除乐成了)
当地分支的删除:
远程堆栈中分支的删除:
- git push origin --delete test
复制代码 2023.09.07:将远程主分支归并到当地分支
把当地分支修改完以后,想要归并到远程主分支,但是远程主分支被项目负责人做了一些小变动,那么就须要先把远程主分支拉下来和我的当地分支举行归并,然后将当地分支归并到远程分支,进一步归并到远程主分支。以下是我的归并步调:
起首运行归并远程分支的下令:
结果没有归并乐成,由于存在文件之间的辩说。此时可以利用以下下令查察辩说在那里:
针对产生辩说的文件,须要过细对比当地分支的文件和远程主分支的文件,并手动编辑文件办理辩说。
办理辩说以后,就可以commit并push到远程分支(留意,还不是远程主分支),进一步去github项目页面提交一个将分支归并到主分支的pull request,颠末项目其他成员的review以后,即可归并。
2023.12.19:已删除的远程分支仍在当地表现
在使git branch -a表现全部当地分支和远程分支以后,大概会发现,有一些分支已经删除了,但是仍能看到这些分支,那么怎样删除这些分支?
起首可以查察远程分支的环境:
已经被删除的远程分支的状态为:
- stale (use 'git remote prune' to remove)
复制代码 根据括号里的提示,用以下语句整理远程已删除的分支:
整理完以后,多余的远程分支已经没了,但是它们在当地仍然存在,那么用以下语句来扫除当地分支:
参考文章:git远程删除分支后,当地git branch -a 依然能看到该分支的办理办法
2024.07.23:将当地项目上传到 Github
我在当地写了一个项目,想上传到 github 上举行管理,于是:
- 起首新建一个文件夹,在内里点击右键选择 Git Bash Here。
- 在点击 Git Bash Here 后打开的下令行里输入 git init 初始化当地堆栈。输入就行,我不配图了,背面也懒得配图了。
- 把你要上传的文件和文件夹全部复制到这个文件夹内里来。(大概你会问为什么不直接在已有的项目标文件夹下建当地堆栈,我本身的明白是,有一些文件你不想上传大概无法上传,好比很大的数据文件,以是你可以新建一个文件夹单独把要上传的移到这个新文件夹里上传,如许固然多了一步但是可以省去一些贫困,切身材验。)
- 复制过来了吧,在下令行内里输入 git add .,这个下令把你移过来的全部文件添加到缓存区。此时你可以试试输入 git status
查察当下当地堆栈的状态,可看可不看,想看就看看。
- 接着输入下令 git commit -m "这里写你想写的表明" 把文件提交真正到当地堆栈,由于刚刚的add只是添加到了缓存区。
- 东西都提交到当地堆栈了,这个时间我们须要毗连一个远程堆栈,把当地的给推到远程堆栈去。创建一个新的远程堆栈是在 Github 内里操纵,很简单,我懒得在这里写了。
- 在 Github 上创建完新堆栈以后,回到下令行,输入 git remote add origin 堆栈的HTTPS谁人所在,此时你就实现了当地堆栈和远程堆栈的一个关联。
- 假如你新建的远程堆栈是空的,输入 git push -u origin main 把当地堆栈的内容推送到远程堆栈;假如不是空的,比方你在新建堆栈时自动创建了 README.md 文件,那么你要先将远程堆栈的内容归并过来,输入 git pull --rebase origin main ,接着再输入 git push origin main。(留意,现在 Github 的堆栈的主分支默认定名为 main,不再是 master 了,至于为什么,感爱好的可以去搜一搜,以是不是 git push -u origin master 而是 git push -u origin main)
- 啊哦,我在输入 git pull -rebase origin main 以后报错说 fatal: unable to access ‘https://github.com/xxx/xxx.git/’: OpenSSL SSL_read: Connection was reset, errno 10054,我去找找办理方案,wait……
- 办理方案是输入 git config --global http.sslVerify false ,输入完再输入 git pull 谁人下令,就乐成了。但是我找到的办理方案的谁人博主说
利用 https 协议克隆项目到当地会出现许多贫困,以后照旧利用 ssh 密钥举行克隆方便。利用 ssh 举行克隆后,在 git push 和 pull 都须要手动输入暗码,假如要制止如许的贫困,可以在 git bash 键入下令 $ ssh-keygen -p,在设置暗码的时间回车即可。
- pull 乐成了,输入 git push origin main,乐成,竣事。
特别鸣谢这篇文章:手把手教怎样将当地项目上传到GitHub。我是按照这篇文章的步调来做的,写得很好!
2024.07.23:git push 时报错:fatal: unable to access ‘https://github.com/xxx/xxx.git/’: Failed to connect to github.com port 443 after 21069 ms: Timed out
直接在点击 git bash here 后打开的下令行里输入Git报错: Failed to connect to github.com port 443 办理方案的前四行下令,乐成 push。突然担心原文没了怎么办!我把告急内容粘贴过来了。
设置socks5署理
- git config --global http.proxy socks5 127.0.0.1:7890
- git config --global https.proxy socks5 127.0.0.1:7890
复制代码 设置http署理
- git config --global http.proxy 127.0.0.1:7890
- git config --global https.proxy 127.0.0.1:7890
复制代码 留意:
下令中的主机号(127.0.0.1)是利用的署理的主机号(本身电脑有vpn那么本机可看做访问github的署理主机),即填入127.0.0.1即可,否则填入署理主机 ip(就是网上找的谁人ip)
下令中的端标语(7890)为署理软件(署理软件不表现端口的话,就去Windows中的署理服务器设置中查察)或署理主机的监听IP,可以从署理服务器设置中得到,否则填入网上找的谁人端口port。
2025.04.02:git push 时报错:fatal: unable to access ‘https://github.com…’ OpenSSL SSL_read: Connection was reset, errno 10054以及fatal: unable to access ‘https://github.com/xxx/xxx.git/’: Failed to connect to github.com port 443 after 21069 ms: Timed out
照旧上面谁人标题,原来是署理的端标语更新了,上面四句下令的端口改成新的重新输一遍。
假如出现这个告诫和错误:
- warning: http.proxy has multiple values
- error: cannot overwrite multiple values with a single value
- Use a regexp, --add or --replace-all to change http.proxy.
复制代码 那么先把旧的设置删了再重新设置:
- # 查看当前的 https.proxy 配置
- git config --global --get-all https.proxy
- # 删除所有现有的 https.proxy 配置
- git config --global --unset-all https.proxy
- # 重新设置 https.proxy
- git config --global https.proxy 127.0.0.1:10809
复制代码 |