使用Git上传到Github/Gitee 问题记录

下述为简单的记录过程

1.push失败   failed to push some refs to xxxx.

使用git push -u origin master 命令 把当前分支master 推送到远程时失败。

原因:通过查看提示信息,我发现,是因为本地仓库和远程仓库的文件不一致所致,也就是说,github允许你本地仓库有的东西,远程仓库里没有,但不允许远程仓库有的东西,你本地仓库没有。问题找到了,解决办法就很简单了,那就是在push之前先同步一下本地仓库与远程仓库的文件。使用以下命令

git pull --rebase origin master

再次推送成功

把本地库的内容推送到远程,用git push命令,实际上是把当前分支推送到远程分支master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

2.pull失败  there is no tracking information for the current branch.

原因 : 本地dev分支和远程dev分支没有建立联系

git pull 需要建立本地和远程分支之间的联系,改命令为 git pull origin dev 或者 git branch --set-upstream-to=origin/dev dev

3.关联本地库和远程库的分支master

使用 git branch -a 查看所有分支情况

git fetch 获得远程库分支

git branch -a 再次查看

git branch --set-upstream-to=origin/feature feature (建立连接)

4.如果远程仓库先建立了分支feature ,本地仓库需要创建相同分支并建立连接时

 git checkout -b feature origin/feature

5.使用intellij idea update时失败 (可参考3)

原因 : 分支连接未建立

6. intellij 报错 "Could not read from remote repository" 

github上重新配置ssh key,重新建立连接

1)生成钥匙

ssh-keygen -t rsa -C "[email protected]"

C:\Users\Administrator\.ssh\id_rsa.pub(windows)  获得公钥

2)github重新配置ssh key

3)删除与远程仓库origin之间的连接

git remote remove origin

4)重新建立本地仓库和远程仓库之间的联系,远程仓库取名origin

 remote add origin [email protected]:xxxx/yyyyy.git

5)测试

ssh -T [email protected]

intellij idea 重新配置

1)配置remotes  远程仓库


2)如果上述url 无法使用ssh,更改ssh executable 设置为 native

7.使用git 提交到gitee

1)建立连接   git remote add  <remote name> <ssh remote url>

2)查看所有remote   git remote -v

3)测试gitee    ssh -T [email protected]

4)同步远程分支信息到本地   git fetch git master

5)查看所有本地分支信息  git branch -a

6)先pull拉取 (保证远程仓库有的,本地仓库一定有)    git pull gitee master --allow-unrelate-histories

7)再push 推送到gitee master分支     git push gitee master

8.分支合并前要保证是本版本的最新代码

可以使用 git stash 先保留本地的修改代码 ,git merge dev 合并后,使用 git stach pop 删除并恢复本地代码

9. git commit -a -m "message"  失败

 通过 git status 查看文件状态,有 untracked files(git 文件三种种状态之一)然我们可以在 .gitignore 文件中添加文件名 进行忽略

这里我们不使用忽略,需要强制提交(intellij idea 的commit 扫码不出这些文件) 使用 Git Bash Here

使用 commit -a -m "message" 发现并没有提交成功

原因:这些文件是新建的文件 需要先使用 git add * 命令 添加所有文件到缓存区,

再使用 git commit -m "xxx"

猜你喜欢

转载自blog.csdn.net/zl_momomo/article/details/81078842