在使用git提交文件遇到了很多问题
首先
提交代码到gitee或github上面需要安装git
git的安装和配置请参考:git安装和配置
上传本地代码到gitee仓库
1.先在码云线上仓库创建一个项目,项目名为XXX
2.在本地电脑新建一个文件夹,文件夹名为xxx(要跟线上仓库项目名一致)
3.进入本地xxx文件夹内,右键Git Bash Here,打开git命令窗口
4.执行git init命令 ,初始化本地仓库
git init
5.将要上传的码云的代码文件放入xxx文件夹内,再执行git status命令,查看工作区代码与暂存区的区别,会发现工作区已修改的文件都是红色字体标识出来的
git status
6.红色表示代码还在工作区,要将代码放入缓存区,也就是暂存,使用git add.命令,add后面的.表示将工作区所有的文件都放入缓存区
git add .
7.再次执行git status命令查看工作区与暂存区的区别,会发现之前标识为红色的文件都变成了绿色,代表已经暂存成功
8.接下来就需要将暂存区文件添加到本地版本库,执行git commit -m “这里写提交的日志信息”,按回车,就会提交到本地的版本库
git commit -m "写提交的日志信息"
9.最后,将本地版本库的代码提交到码云远程仓库
// 先将本地版本库与远程版本库连接,在远程仓库复制你的仓库地址,再使用git命令连接
$ git remote add git@gitee.com:XXXXX/XXX.git
10.建本地版本库推送到远程版本库
$ git push -u origin master
这是整个提交的过程,但是有时候会出现错误
问题:
1
$ git push origin master
To github.com:peTzxz/Property-management-system
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:peTzxz/Property-management-system'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
出现这个问题是因为github中的README.md文件不在本地代码目录中,可以通过如下命令进行代码合并
git pull --rebase origin master
然后再
git push origin master
便可上传成功!
2
报错:fatal: remote origin already exists. (远程仓库已经存在)
解决办法:
1、先删除远程 Git 仓库
$ git remote rm origin
2、再添加远程 Git 仓库
$ git remote add origin git@gitee.com:y1z2h3/myfirstproject_123123123.git
如果执行 git remote rm origin 报错的话,我们可以手动修改gitconfig文件的内容
原文链接:https://blog.youkuaiyun.com/top_code/article/details/50381432
3
使用Git创建项目的时候,在两个分支合并的时候,出现fatal: refusing to merge unrelated histories
你可能会在git pull或者git push中都有可能会遇到,这是因为两个分支没有取得关系
在你操作命令后面加**–allow-unrelated-histories**
例如:
git merge master --allow-unrelated-histories
如果你是git pull或者git push报fatal: refusing to merge unrelated histories
同理:
git pull origin master --allow-unrelated-histories
4
远程仓库有本地没有的文件,比如线上仓库比本地多一个readme文件等,这时候使用命令,先将线上仓库拉下来,合并到本地,再push(注意:本地仓库和远程仓库项目名字不一样,需要修改成一样)
$ git pull git@gitee.com:XXXXX/XXX.git
执行完再次推送
5
Push rejected: Push to origin/master was rejected
直接解释:推拒绝:推送到起源/主人被拒绝
问题出现的原因:
从码云上克隆下来的项目,进行修改之后上传失败,原因是项目中有和和历史不符的东西 。
解决办法:
找到项目的文件夹鼠标右键git Bash Here然后直接下面两行命令解决问题
$ git pull origin master –allow-unrelated-histories
$ git push -u origin master -f
6
因为向服务器git push origin master的时候会出现失败的现象
原因是远程仓库和本地仓库文件冲突,使用git pull --rebase origin master(拉取远程的文件把本地的覆盖,再上传)。然后再进行push,但是有时候会出现git rebase后出现(master|REBASE 1/10)
然后git status,他是这样的
文件夹的文件都丢失了,只需要:git rebase --abort,使用git rebase --abort 可以解决代码回退的问题
然后再重新git init 重头再来!
7
(1)更新到主分支
$ git add .
$ git commit -m "更新描述"
$ git push #更新到主分支
(2)第一次上传分支
$ git add .
$ git commit -m "更新描述"
$ git push -u origin 分支名字 #第一次使用git上传
(3)上传到新分支
$ git add .
$ git commit -m "更新描述"
$ git branch 分支名字 #创建新分支
$ git checkout 分支名字 #切换到分支
$ git push --set-upstream origin 分支名字 #将分支设为上传分支,同时更新代码到分支上
//第一次上传到git
git init //初始化
git add . //添加本地文件
git commit -m "备注"
git remote add origin https: //关联git
git pull origin master //拉取代码
git push -u origin master
//克隆git库中的代码,后面的https地址换成自己的git库地址就好,注意:不要使用ssh
git clone https://gitee.com/yulongcode/TestGit.git
//拉取git分支代码
git clone https://gitee.com/yulongcode/TestGit.git --branch dev
//查看本地git库的文件修改状态
git status
//将本地修改的代码提交到暂存区 ./ 也可以换成具体的文件名
git add ./
//给将要提交的代码写注释
git commit -m '代码提交注释'
//拉取远端代码
git pull
//推送代码
git push
//查看git的log
git log
//查看文件冲突
git diff
不保存本地修改拉去代码
git reset --hard
git pull origin master
保存本地修改拉去码
git stash
git pull origin master
git stash pop