一、前言

把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拷贝项目到我的本地!

    1. 终端cd进入要存放文件的文件夹
    2. 终端直接git clone url(github文件夹地址)

  • 把我的项目上传到github    ★ ★ ★ ★ ★

  1. 注册、登陆,创建仓库的操作请提前完成。

  2. 终端cd + 项目路径执行到项目路径执行指令:git init

  3. 选择需要提交的文件到暂存区:git add .(提交全部)

    如需提交单个/多个:git add file1 file2 ...

  4. 提交代码到暂存区:git commit -m '注释'

    这个注释就是后面github查看的时候文件右边显示的描述。

    如果需要修改注释:git commit —amend -m 'xxx'

  5. 关联到远程版本库:git remote add origin url

    敲桌子!!这个url是变量,是你github仓库的url地址.

    例如:git remote add origin https://github.com/soybeanxiaobi/webpack_codeSplitting

  6. 万事俱备,只欠提交。推送到远程版本库:git push origin master (如github存在本地未对应修改的文件,需先执行git pull --rebase origin master)

过程需要输入github用户名和密码

  1. 大功告成!!!另外在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.

解决办法:

  1. 手动解决:

    冲突标记<<<<<<< 与======= 之间的内容是本地代码

    =======与>>>>>>>之间的内容是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

使用git上传项目到github的最基础命令的更多相关文章

  1. 使用git上传项目到GitHub上

    之前的博客有<使用git拉取GitHub上的项目>的文章,那么现在说一下,如何上传项目到GitHub上. 1. Git的.gitignore 文档配置 因为项目中可能有很多的图片还有nod ...

  2. 用git上传项目到GitHub或者码云全过程

    用git上传项目到GitHub或者码云全过程 1. 会生成一个隐藏文件夹".git".这是一个不可删文件,因为暂存区和历史区还有一些其他的信息都在这里,删掉就不是一个完整的仓库了 ...

  3. Git 上传项目到 Github

    Git 上传项目到 Github 该文章主要讲解Git 上传项目到 Github,Gitee同理 配置Git 下载.安装Git 下载后一路(傻瓜式安装)直接安装即可 如果第一次使用git的话,需要设置 ...

  4. 直接利用本地git上传项目到github

    http://m.blog.csdn.net/article/details?id=50441442 本文将详细介绍如何托管你的项目到github上   转载请标明出处: http://blog.cs ...

  5. git上传项目到github简易步骤

    第一步: 在github创建仓库,创建完成进入该仓库,仓库地址如:https://github.com/winerss/wcMall格式 第二步:使用git,cd到本地项目目录下,执行git明令: g ...

  6. git上传项目到github远程库

    最近在学习使用 git 上传管理项目,依照教程,建好了一个远程库,也实现了本地库与远程库的项目同步上传,但是在试着将本地库里的项目上传到另一个新建远程库时遇到了问题,一直上传不成功,经过一番查找摸索终 ...

  7. 利用Git上传项目到github以及遇到的问题

    今天学习如何利用git从本地端上传项目,以及遇到问题的解决方法 1.要有自己的github账号,并创建一个仓库, 2.输入仓库的名称,直接Create 注:记住常见成功后的这个地址,后边要用到: 3. ...

  8. 使用Git上传项目到GitHub仓库

    GitHub账号注册很长时间了,但是没怎么上传过东西.今天学习如何利用Git工具将代码上传到GitHub,了解了一些常用命令 $ git config --global user.name " ...

  9. Git上传项目到GitHub

    1.注册账户 https://github.com/ 2.创建仓库 3.需要安装 Git   http://msysgit.github.com/ 4.本地创建ssh key(不是必要,不创建ssh可 ...

随机推荐

  1. redis安装集群的2种方式

    redis主从只是数据的备份,当主宕机后不会自动切换从为主,需要手动切换从为主. 哨兵就可以自动切换从为主, 当主数据库遇到异常中断服务后,开发者可以通过手动的方式选择一个从数据库来升格为主数据库,以 ...

  2. Linux centos7下php安装cphalcon扩展的方法

    说明: 操作系统:CentOS7 php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php/etc/php.ini 运行环境:LNMP ,PHP7 .安装 ...

  3. Spring Boot中注入配置文件application.properties中的list 对象参数

    例如要注入下列参数: dyn.spring.datasources[0].name=branchtadyn.spring.datasources[0].driverClassName=oracle.j ...

  4. kali linux fuzz工具集简述

    模糊测试是一种自动化软件测试技术,涉及提供无效,意外或随机数据作为计算机程序的输入. 然后监视程序是否存在异常,例如崩溃,内置代码断言失败或潜在的内存泄漏. 通常,模糊器用于测试采用结构化输入的程序. ...

  5. python ---24 正则表达式 re模块

    一.正则表达式 1.字符组 ① [abc] 匹配a或b或c ②  [a-z] 匹配a到z之间的所有字⺟ [0-9]匹配所有阿拉伯数字 2.元字符 3.量词 4.重要搭配 ①  .*? ②  .*?x  ...

  6. Apache下的ArrayUtils工具类总结

    ArrayUtils中的方法: 1.add():将给定的数据添加到指定的数组中,返回一个新的数组. 2.addAll():合并两个数组. 3.contains():检查该数据在该数组中是否存在,返回一 ...

  7. 终于记住回车和换行cr lf的来由和含义了 -参考: http://www.cnblogs.com/me115/archive/2011/04/27/2030762.html

    回车: carriage return, 是将光标在同一行中, 回到当前行的 行首. 回来的本意就是 返回.. 所以 是同一行的行首. CR 换行: line feed: feed: 饲养(动物); ...

  8. 如何安装整个linux系统中所需要的mp3播放库插件? 可以在安装rpmfusion仓库后直接通过dnf install进行按照就可以了

    在vi的界面中, 前面的数字, 表示一行. 而对于中文而言, 并不一定是"一个文本行"就是一行, 而是以 回车(硬回车)为标志, 来判定一行的. 而dd, yy等也是以" ...

  9. 【做题】arc068_f-Solitaire——糊结论

    把所有数字放入双端队列后,结果大概是这样一个排列: \[P_1 1 P_2\] 其中\(P_1\)是递减序列,\(P_2\)是递增序列. 我们以\(1\)所在的位置\(k\)分割最终的排列\(A\). ...

  10. golang解析json配置文件

    安装 go get github.com/akkuman/parseConfig 使用说明 环境假设 . ├── config.go ├── config.json config.json内容 { & ...