草庐IT

git提交到远程仓库

周伯通* 2023-09-04 原文

目录

一、Git提交代码的流程

二、将本地项目发布到gitee上

将本地代码库与远程代码库相关联

强制把远程仓库代码拉取到到当前分支上面。ps:如果仓库为空这一步可以跳过

三、git提交代码--修改提交的地址

四、获取密钥

Git HEAD detached from origin(冲突解决后无法正常push) 问题的解决方案

git pull 报错:error: Pulling is not possible because you have unmerged files.


一、Git提交代码的流程

1、git add .(后面有一个点,意思是将你本地所有修改了的文件添加到暂存区)

2、git commit -m" "(引号里面是你的介绍,就是你的这次的提交是什么内容,便于你以后查看,这个是将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中)

3、git pull origin 远程分支名(master) 这是下拉代码,将远程最新的代码先跟你本地的代码合并一下,如果确定远程没有更新,可以不用这个,最好是每次都执行以下,完成之后打开代码查看有没有冲突,并解决,如果有冲突解决完成以后再次执行1跟2的操作

4、git push origin master(git push origin 本地分支名:refs/remotes/远程分支名) 将代码推至远程就可以了

二、将本地项目发布到gitee上

1、在gitee创建一个仓库,这时候的分支命名默认为master

2、在要上传的文件夹这里打开

执行代码:

查看用户名和邮箱

git config user.name

git config user.email

配置密码跟邮箱

git config --global user.name "xxx" 

git config --global user.email "xxx"

初始化本地环境,把该项目变成可被git管理的仓库

git init

将本地代码库与远程代码库相关联

git remote add origin 远程仓库地址

强制把远程仓库代码拉取到到当前分支上面。ps:如果仓库为空这一步可以跳过

git pull --rebase origin master

三、git提交代码--修改提交的地址

$ git remote -v
origin  git@github.com/zejun_web (fetch)
origin  git@github.com/zejun_web (push)
git remote rm origin
git remote add origin git@github.com:git-ze/xxxx.git
$ git push -u origin master

如果是gitee和github的话要添加公钥

要注意的就是第一次push的话,要加上 -u 在语句里,把本地master分支和远程库的master分支关联起来。

四、获取密钥

$ ssh -keygen -t rsa -C “your email@.com”

 一路回车,出现如下界面:

说明你的密匙已经成功创建了,现在打开上述的存储.ssh文件的位置,打开id_rsa.pub或是id_rsa文件,复制里面的内容(秘钥):

 SSH and GPG keys这个选项之后,在网页右上角点击new SSH Key按钮创建秘钥,title是你给你的秘钥起一个标题,key里面就把你刚才复制的秘钥粘贴进去,点击add SSH KEY就可以了:

之后再回到Git Bash,输入命令:$ ssh -T git@github.com ,再输入yes, 出现如下界面,就说明链接成功了。

接下来还需要设置一些账号名,邮箱,(name最好和GitHub上边的一样,email是一定要是注册GitHub的那个邮箱地址)

Git HEAD detached from origin(冲突解决后无法正常push) 问题的解决方案

解决方案如下
1.查看在游离状态下提交的最新commit号
git branch -v

2.创建一个临时的分支temp,用这个分支代替之前的临时分支并且拥有想要恢复的commit,
创建完成之后切换到该分支上查看一下
git branch temp commit号

3.切换到要合并的分支上
git checkout 要合并临时分支的分支名称

4.合并分支
git merge temp

5.推送合并后的分支到远程仓库
git push origin 分支名称:远程分支名称

6.查看远程仓库是否更新
git status

7.删除临时分支【为了保险最后删除】 注意:要记得切换分支才能删除
git branch -D temp

git pull 报错:error: Pulling is not possible because you have unmerged files.

翻译过来:

错误:无法提取,因为您有未合并的文件。

提示:在工作树中修复它们,然后使用“git add/rm<file>”

提示:根据需要标记解决方案并提交。

致命:由于未解决的冲突而退出。

解决方法:

提示了先提交

那么就是

git add.
 
git commit -m "xxx"
 
git pull origin master
 
git add .
 
git commit -m "xxx"
 
git push origin master

有关git提交到远程仓库的更多相关文章

  1. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  2. ruby - Dropbox 类似 git 的服务——没有 rsync 和 inotify - 2

    关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec

  3. ruby - 混帐 & ruby : How can I unset the GIT_DIR variable from inside a ruby script? - 2

    我编写了一个非常简单的“部署”脚本,作为我的裸git存储库中的post-updateHook运行。变量如下livedomain=~/mydomain.comstagingdomain=~/stage.mydomain.comgitrepolocation=~/git.mydomain.com/thisrepo.git(bare)core=~/git.mydomain.com/thisrepo.gitcore==addedremoteintoeachlive&stagegitslive和stage都初始化了gitrepos(非裸),我已经将我的裸仓库作为远程添加到它们中的每一个(名为co

  4. ruby - 让 bundler 使用 http : instead of git:? - 2

    我正在安装gitlabhq,并且在Gemfile中有对某些资源的“git://...”的引用。但是,我在公司防火墙后面,所以我必须使用http://。我可以手动编辑Gemfile,但我想知道是否有另一种方法告诉bundler使用http://作为git存储库? 最佳答案 您可以通过运行gitconfig--globalurl."https://".insteadOfgit://或通过将以下内容添加到~/.gitconfig:[url"https://"]insteadOf=git://

  5. ruby-on-rails - 安装 active admin 时 activeadmin.git (at master) is not yet checked out 错误 - 2

    Activeadmingem已添加到我的rails项目中,但每次我尝试安装railsgactive_admin:install时,我都会收到类似的错误git://github.com/activeadmin/activeadmin.git(atmaster)isnotyetcheckedout.Runbundleinstallfirst.我肯定在运行“railsgactive_admin:install”之前运行了bundle。运行“bundleshow”后,我看到我已将“*activeadmin(1.0.0.pre3f916d6)”添加到我的项目中,但不断收到此错误消息。我的gem文

  6. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  7. ruby - 带有 grep 远程日志文件的 tail - 2

    我有这段代码来跟踪远程日志文件:defdo_tail(session,file)session.open_channeldo|channel|channel.on_datado|ch,data|puts"[#{file}]->#{data}"endchannel.exec"tail-f#{file}"endNet::SSH.start("host","user",:password=>"passwd")do|session|do_tailsession,"/path_to_log/file.log"session.loop我只想在file.log中检索带有ERROR字符串的行,我正在尝

  8. ruby - 如何使用远程 API 将 Confluence "Space"导出为 PDF - 2

    如何将Confluence的“空间”导出为pdf文件?看起来Confluence5.0可能仍然支持使用XML-RPCAPI。不过,我找不到调用什么的示例。https://developer.atlassian.com/display/CONFDEV/Remote+API+Specification+for+PDF+Export#RemoteAPISpecificationforPDFExport-XML-RPCInformation该链接表示调用应以pdfexport为前缀,但没有列出任何调用或给出示例。 最佳答案 这可以使用Bob

  9. ruby - AWS 上远程机器上的进程计数 - 2

    我正在为在AmazonEC2实例上运行的应用程序设计一个AutoScaling系统。应用程序从SQS读取消息并对其进行处理。AutoScaling系统将监控两件事:SQS中的消息数量,所有EC2机器上运行的进程总数。例如,如果SQS中的消息数量超过3000,我希望系统自动缩放,创建一个新的EC2实例,在其上部署代码,当消息数量低于2000时,我希望系统终止EC2实例.我正在用Ruby和Capistrano做这件事。我的问题是:我无法找到一种方法来确定在所有EC2机器上运行的进程数并将该数字保存在变量中。你能帮帮我吗? 最佳答案 您可

  10. 如何使用手机远程访问自己的电脑? - 2

    手机访问电脑后AnyViewer可以做什么? 您成功将手机连接到Windows电脑后,然后您可以做任何您想做的事情,例如:查看文件和运行应用程序。电源管理:在远程会话中,点击电源管理,您可以看到三个项目:锁定、重启和关机,供您在不同情况下管理计算机。如果您需要暂时离开远程会话,可以锁定计算机。如果计算机死机,您可以重新启动它,然后再次连接。如果您已完成计算机上的所有工作,您可以使用手机远程关闭它。更改图像质量:当电脑和手机的网络都处于良好状态时,您可以选择高图像质量以获得更好的体验。当网络状况不佳时,您可以选择低图像质量以获得更流畅的操作。     显示桌面:我们无法在手机上按Windows+

随机推荐