git提交问题:git提交时提示如下信息,没有将本地文件提交到服务器,是怎么回事

git提交问题:git提交时提示如下信息,没有将本地文件提交到服务器,是怎么回事,第1张

依次检查以下问题。(假定远端库叫 origin, 分支是 xxx)

push 之前,确保你已经和最新的远端分支做过merge/rebase,命令为 git fetch origin, 然后 git merge [或rebase] origin/xxx

你push的branch错了,比如本地的 dev 分支是track远端的 xxx 分支,但是你push的是yyy分支。确保你的push命令正确,如下   git push origin dev:xxx

确保你没有修改过已经在远端分支上的历史

1、本地公钥的获取,

cd ~/ssh

ls   

使用指令ssh-keygen,生产公钥,第一个提示时输入文件(默认是id_rsa),第二个提示时输入的是密钥,

公钥放置在id_rsapub文件中。

2、按照code的提示,进行代码上传。

21  建立一个git文件件,比如git_csdn ,

22  git init,建仓操作,

23  可以新建一个readmemd, touch READMEmd

24 git add添加所有文件,git add file,添加file,比如git add README

25 git commit -m "first commit"

26 git remote add origin git @ url 地址

27 git push -u origin master

3、git clone 地址

4、git remote 不带参数,列出已经存在的远程分支

$ git remote

origin

5、配置:

$ git config --global username "John Doe"

$ git config --global useremail johndoe@examplecom

出现的问题:Updates were rejected because the tip of your current branch is behind

有如下几种解决方法:

1使用强制push的方法:

$ git push -u origin master -f

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2push前先将远程repository修改pull下来

$ git pull origin master

$ git push -u origin master

3若不想merge远程和本地修改,可以先创建新的分支:

$ git branch [name]

然后push

$ git push -u origin [name]

分支管理:

1、创建分支: git branch  new_branch

2、查看分支:git branch

3、删除分支:git branch  -d new_branch

4、切换分支:git checkout  new_branch

5、创建分支并切换分支: git checkout  -b new_branch即可在本地新建分支,并使用该分支track远程分支

6、提交并推送分支:

git  add

git  commit -m "xxx"

git  push -u origin new_branch

7、删除远程分支:git  push origin --delete new_branch

8、合并分支: git merge  new_branch

9、将本地更新上传到远程分支上:

例如本地新建或是更新了内容newfilec文件, 

首先git add newfilec,

然后git commit -m "add new file",

紧接着git push 本地分支名 远程分支名即可将本地分支更新到远程分支。

10获取远程分支

git fetch 从远程获取其他用户push上来的新分支

git remote -v  即可查看远程所有的版本信息

这些开发中很常见的问题,所以git的取消提交,回退甚至返回上一版本都是特别重要的

大致分为下面2种情况:

1没有push

这种情况发生在你的本地代码仓库,可能你add ,commit 以后发现代码有点问题,准备取消提交,用到下面命令

reset

git reset [--soft | --mixed | --hard

上面常见三种类型

--mixed

会保留源码,只是将git commit和index 信息回退到了某个版本

git reset 默认是 --mixed 模式

git reset --mixed 等价于 git reset

--soft

保留源码,只回退到commit 信息到某个版本不涉及index的回退,如果还需要提交,直接commit即可

--hard

源码也会回退到某个版本,commit和index 都回回退到某个版本(注意,这种方式是改变本地代码仓库源码)

当然有人在push代码以后,也使用 reset --hard <commit> 回退代码到某个版本之前,但是这样会有一个问题,你线上的代码没有变,线上commit,index都没有变,当你把本地代码修改完提交的时候你会发现权是冲突

所以,这种情况你要使用下面的方式

2已经push

对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致你要用到下面的命令

revert

git revert用于反转提交,执行evert命令时要求工作树必须是干净的

git revert用一个新提交来消除一个历史提交所做的任何修改

revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新(这里不会像reset造成冲突的问题)

revert 使用,需要先找到你想回滚版本唯一的commit标识代码,可以用 git log 或者在adgit搭建的web环境历史提交记录里查看

git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61

通常,前几位即可

git revert c011eb3

git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit

看似达到的效果是一样的,其实完全不同

第一:

上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突但是revert 并不会

第二:

如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里但是revert 方向提交的commit 并不会出现在历史分支里

第三:

reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的

首先确保你的本地git工作目录下已经增加了远程分支了使用 git remote -v 查看。如果没有则先使用 git remote add 命令添加一个(假设名为origin,分支为master)。如果已经有了,则使用 git push origin master命令提交当前工作目录下的分支到远程master分支

1、前期准备服务器上配置好的gitgit客户端11 在服务器上安装git (本机所使用的linux是ubuntu) 在服务器输入命令:sudo apt-get install git即可 然后创建名字为git的用户组和用户12 下载客户端 在浏览器地址栏输入:https://git-for-windowsgithubio/ 回车后 点击Download进行下载2、具体操作21 在合适的位置创建一个目录充当git远程仓库(本机位置为/usr/testgit),然后使用init命令初始化仓库 在命令终端输入: sudo git init –bare 22 将git init生成的目录所属者改为git 输入命令:sudo chown -R git:git 至此服务器端的操作完成。 在客户端合适位置使用git 客户端从服务器资源 23 首先打开git客户端 点击Git Bash Here 后出现 在git客户端命名终端输入: git clone git@xxxxxx:/rrrrr 其中xxxxxx是远程服务器的地址 rrrrr为git仓库所在位置 如果配置正确你选中的目录下会出现名字为testgit的文件夹 testgit文件夹下随意创建若干个文件 23 在git客户端上使用命令 git add 111txt 222txt 333txt 或者使用git add (将本文件夹下所有文件都add) 该命令的作用是告诉git把文件添加到git仓库24 然后使用git commit命令将文件提交到git仓库 -m 后面的内容为本次提交文件的一些注释内容 此时文件还没有从本地仓库上传到远程服务器仓库25 使用push命令将本地仓库中的内容提交到远程仓库 在git客户端命令终端输入:git push origin master 至此本地仓库中的文件上传已经上传到远程服务器仓库。 在其他文件夹下再次使用 git clone 命令 从远程服务器同步仓库

  1

  准备,下载git到你的电脑上,下载地址: http://git-scmcom/downloads

  安装,直接下一步下一步就好,记得下载位置就好,配置的时候要用

  2

  在studio中设置git插件:File->Setting->Version Control->Git,添加您刚刚安装的git地址目录,例如: C:\Program Files\Git\bin\gitexe ,

  然后可以点击Test测试一下,如下图:那么你就设置成功了。

  3

  初始化git项目(git init),操作如下:VCS->Enable Control Integration->Select "Git"

  4

  为git添加remote,在这一步中,studio没有为我们提供可视化的GUI,得用Git工具了。找到并打开git安装目录下面的Git Bash,将目录切换到项目的目录,然后输入git添加remote的命令,例如:git remote add origin "https://githubcom/xxx/xxxgit"

  5

  将代码添加到VCS(git add),选中要提交的文件->VCS->Git->Add,

  6

  提交变化(git commit),VCS->Commit Changes, 在提交的时候可以选择Commit and Push,就可以直接push到服务器。

  7

  Git Push,VCS->Git->Push

  最后,如果要是clone project到studio

代码提交

代码提交一般有五个步骤:

1查看目前代码的修改状态

2查看代码修改内容

3暂存需要提交的文件

4提交已暂存的文件

5同步到服务器

1 查看目前代码的修改状态

提交代码之前,首先应该检查目前所做的修改,运行git status命令

a) 已暂存 (changes to be committed)

new file //表示新建文件

modified //表示修改文件

deleted //表示删除文件

b) 已修改 (changed but not updated)

modified //表示修改文件

deleted //表示删除文件

另外,git 给出了可能需要的操作命令,git add/rm, gitcheckout --

c) 未跟踪 (untracked files)

2 查看代码修改的内容

git diff <file>

比较某文件与最近提交节点的差异。

注意:如果该文件已暂存,那么应该使用git diff –cached<file>

git diff <hashcode> <hashcode> <file>

比较某文件在提交节点a,节点b的差异。

技巧:如果省略后面一个hashcode,则默认表示与上一提交节点比较。(也可以利用^运算符)

3 暂存需要提交的文件

如果是新建的文件

则git add <file>

如果是修改的文件

则git add <file>

如果是删除的文件

则 git rm <file>

4 提交已暂存的文件

git commit

注意注释填写规范。

git commit --amend

修改最近一次提交。有时候如果提交注释书写有误或者漏提文件,可以使用此命令。

5 同步到服务器

同步到服务器前先需要将服务器代码同步到本地

命令: git pull

如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。

命令:git checkout -- <有冲突的文件路径>

同步到服务器

命令: git push origin <本地分支名>

如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » git提交问题:git提交时提示如下信息,没有将本地文件提交到服务器,是怎么回事

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情