使用git上传项目到github的最基础命令
一、前言
把github作为自己项目托管的地方,实在是一个明智的选择。就算你不为自己项目考虑,你也要为你团队项目开发而学呀!可能有些初学者(比如我)会觉得git命令好多啊,又是各种术语,觉得好难上手。其实学会一些基础的git命令是很简单的!花半个小时就能学会把自己的项目部署在github上面啦。(当然,我也只是了解github冰山的一角,一起加油加油加油吧)
二、正片
1、如果这是你的第一次,请乖乖配置SSH
- 如果未生成你的专属SSH,看这步⬇
终端输入:
ssh-keygen -t rsa -C "your@email.com"(请填你设置的邮箱地址)
哗啦啦一片之后请往下看
- 已有SSH,直接终端
open ~/.ssh
,打开.ssh文件夹的id_rsa.pub,复制所有内容,在github上添加SSH(粘贴到key,title随意)
填好后,Add 它!
2、开始github的命令之路
-
从github拷贝项目到我的本地!
- 终端cd进入要存放文件的文件夹
- 终端直接git clone url(github文件夹地址)
-
把我的项目上传到github ★ ★ ★ ★ ★
-
注册、登陆,创建仓库的操作请提前完成。
-
终端cd + 项目路径执行到项目路径执行指令:
git init
-
选择需要提交的文件到暂存区:
git add .
(提交全部)
如需提交单个/多个:git add file1 file2 ...
-
提交代码到暂存区:
git commit -m '注释'
这个注释就是后面github查看的时候文件右边显示的描述。
如果需要修改注释:git commit —amend -m 'xxx'
-
关联到远程版本库:
git remote add origin url
敲桌子!!这个url是变量,是你github仓库的url地址.
例如:git remote add origin https://github.com/soybeanxiaobi/webpack_codeSplitting -
万事俱备,只欠提交。推送到远程版本库:
git push origin master
(如github存在本地未对应修改的文件,需先执行git pull --rebase origin master
)
过程需要输入github用户名和密码
- 大功告成!!!另外在git add . 后,可以通过
git status
查看相关改动
这里放一些常见的错误:
1. 如果remote的url填错了(即第5个环节),如何修改
如果url写错了想修改的话,可以这么做:
查询remote git remote -v
$ git remote -v
origin https://githubxxxx (fetch)
origin https://githubxxxx (push)
移除相应的remote git remote remove <name>
$ git remote remove origin
重新添加url git remote origin url
这里注意一下,origin也可以变更为test之类的自定义名字,所以删除remote的时候要确定好名字。例如git remote remove test
分支名为test
2. 提交的时候显示,Updates were rejected because the remote contains work that you do
原因是在连接远程仓库的时候本地没有更新拉取代码(比如远程仓库有一个readme.md文件)
在push(提交)之前先pull(更新)一下
git pull origin master
期间可能需要你在vim编辑器解决冲突。处理好之后重新git push origin master
即可
三、结尾 我要记一个问题.日后解决了回来补充
刚刚commit提交的注释就是红色框框的东西。那么问题来了:如果修改每一个文件的注释呢?有的人说上传多次就行了。我还没有实践出来。希望有关大佬能够教教,无比感激!!
四、真结尾
刚了解了命令的,是不是迫不及待试一试咧。
window的童鞋在项目文件右击Git Bash Here 输入命令即可
macOS的童鞋直接终端操作即可
欢迎留言。
__
git pull时代码冲突
如果想从服务器更新代码的时候,发现代码冲突的时候,会报错:
error: Your local changes to the following files would be overwritten by merge:xxx
Please, commit your changes or stash them before you can merge.
解决办法:
- 手动解决:
冲突标记<<<<<<< 与======= 之间的内容是本地代码
=======与>>>>>>>之间的内容是git上的代码
把冲突标记删掉,把冲突解决正确。
例如:
<<<<<<< HEAD: mergetest
本地冲突代码1
本地冲突代码2
=======
git冲突代码1
git冲突代码2
>>>>>>> ...hash: mergetest
如需要本地代码1和git代码2,解决冲突后,文件内容为:
本地冲突代码1
git冲突代码2
2.以服务器冲突代码为主
git stash
git pull
然后使用git diff -w +文件名 来确认代码自动合并的情况.
3.以本地冲突代码为主
git reset --hard
git pull
其中git reset是针对版本,如果想针对文件回退本地修改,使用
git checkout HEAD file/to/restore