前端学习之本地项目上传GitHub(解决冲突,重命名)
一、前言
之前就已经注册GitHub,但是一直没有用过,现在开始使用吧!
使用之前工作:电脑Windows,注册github账号,安装git。
二、三介绍如何通过git将本地项目上传至github
四介绍如何修改文件名并提交
五是介绍在push或pull的时候如何解决冲突,篇幅比较长,最好动手做一遍,没办法,就是这么麻烦!花了一上午的时间整理的
注意:push提交时要输入用户名Username和密码Password: 分别是github的注册邮箱和登录密码
二、github操作
1、登录自己的GitHub,https://github.com/hellomarkhui
2、如下,点击Your profile,进入仓库管理:
3、开始建新的仓库,如图:
4、仓库命名,shopping,并创建
5、创建成功了,如下:
三、git操作
以上写明了上传项目的方法,两种方式:https和ssh
首先要确保git已经安装,Windows安装git教程:https://www.cnblogs.com/interesting-whh/p/12886114.html
然后在要上传的项目上右击,选择Git Bash Here,打开命令行:
之后按照新建GitHub上新建仓库的命令,提交项目
- 输入‘git init’,使shopping文件夹加入Git管理
- 输入‘git add .’(后面的‘.’不要忘了),将文件夹下的全部内容都添加到Git
- 输入“git commit -m "first commit"”(“git commit -m "提交信息"”)
- 输入“git remote add origin https://github.com/hellomarkhui/shopping-vue.git”(git remote add origin 你自己的https地址),连接你的guthub仓库。origin为分支名称,可以用其他分支,其他名称
- 输入“git push -u origin master”,上传项目到Github。这里会要求输入Github的账号密码,按要求输入就可以。
注意,有时候有些文件和文件夹不需要上传,可在项目下新建 .gitignore 文件(只有后缀的文件可通过新建TXT文件,然后另存为就可以了)。文件里写上忽略的文件名,如:
如果不是第一次创建仓库或创建的仓库有readme,则会报错
有修改先执行git pull origin master把原项目pull到本地,如果出现错误:
那是因为两个分支是两个不同的版本,具有不同的提交历史,解决如下:
git pull origin master --allow-unrelated-histories
如果还没有设置邮箱和名字,则先设置
-
$ git config --global user.name "输入你的用户名"
-
$ git config --global user.email "输入你的邮箱"
最后成功了
GitHub上面的
至此已经完成了将项目导入GitHub中的方法
四、git更新文件名
目标: 把web-demo项目下transition-position的文件夹改为transition,修改文件名步骤一样
在web-demo项目上右击,打开Git bash
直接使用命令:git mv 旧文件夹名 新文件夹名,如下:
git mv transition-position transition
然后就可以commit了
之后push到github即可
成功了
五、git解决冲突
为了测试通知,需要新建一个分支branch。因为协同开发时,是在分支上进行开发的;不同开发人员在自己本地修改了项目中同一个文件,就会产生冲突。
新建的branch就是自己,远端的文件是模拟被人修改后,与自己本地发送冲突
目标:将本地文件与远端文件的冲突解决,并提交。
1、新建分支: git branch testBranch
2、把分支从master转成testBranch: git checkout testBranch
3、先提交一下:git push origin testBranch
同时github上也出现了这个分支了
4、修改本地的README.md文件:vi 文件名 (注:这一步可以换为——直接在本地打开文件,然后修改,效果一样)
打开后就按以下步骤:
- 输入:"i" //表示要插入字符的意思
- 输入完成之后按Esc键
- 输入:“:wq” //表示退出,注意要有":"号
或者直接在本地修改,效果一样
5、在远端github上切换到新建的分支testBranch,修改README.md文件,直接修改并commit就好了。
这一步其实是模拟别人修改上传了文件,制造远端与你本地分支的冲突(注意: 分支要一样)
编辑
提交
6、提交分支,先commit,然后push
commit
push
注意:会提示输入username和password,这里的username是github的邮箱,密码是登录github的密码
之后会提示被rejected拒绝了,因为出现了冲突
7、解决冲突
git pull把代码pull到本地
有两个分支,提示从哪个分支更新本地,并按照它的命令来输入
现在下载testBranch: git pull origin testBranch
依然不行,那怎么办呢?查了网上的方法git stash
8、先将本地修改暂存起来
$ git stash
9、可以pull了
git pull origin testBranch
之后打开本地文件就可以看到被远程的覆盖了
直接本地打开也一样
10、还原第8步的暂存内容
$ git stash pop stash@{0}
以上提示是说系统自动修改合并内容,产生冲突,需要解决冲突。
打开文件,发现内容合并了
11、解决冲突,自己修改一下文件
12、按照提交的步骤进行提交
13、查看github,提交成功了,真是不容易啊