github学习:如何从本地把项目上传到github&&如何把github项目通过clone复制下来,详细教程
一、第一步---注册一个Github账号
首先要在GitHub上创建一个帐号,可以去官方网站注册一个账号。
前提:本地安装一个git
本人github:https://github.com/saucxs
二、git安装
下载地址:http://msysgit.github.io/
二、第二步---生成私钥和秘钥
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥
1、本地创建ssh key
$ ssh-keygen -t rsa -C "your_email@youremail.com"
说明:your_email@yourmail.com改为你github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/
下生成.ssh
文件夹,进去,打开id_rsa.pub
,复制里面的key
。
可以不用设置密码,一直按回车就行了
三、第三步---查看私钥和秘钥
四、第四步---打开id_rsa.pub文件,复制里面的内容粘贴到GitHub指定的位置,按以下步骤可以添加一个公钥
复制,粘贴在下边地方,生成一个公钥。
公钥如图所示
验证本地创建SSh -key,是否成功。如果出现successful,表明已经成功连接上github。
输入
$ ssh -T git@github.com
五、把本地仓库传到github上去
1、在此之前还需要设置username和email,因为github每次提交都会记录他们
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
接着上面敲得命令下面,继续输入上述两个命令。
2、github上新建一个项目。
会出现这个页面,如下图所示
然后你新建的github上的项目BPS1就成功了。如下图所示
3、在本地上传的仓库,右键git bash,添加远程地址
$ git remote add origin git@github.com:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的用户名和刚才github上新建的仓库。
4、在本地要上传的仓库,接着在2之后的命令行中输入以下内容。
git clone https://github.com/saucxs/BPS.git
红色部分是github上的https地址。
然后本地仓库文件夹里,出现了一个README的文件
5、把自己需要上传的项目文件复制到这里。
6、按照命令一步步进行
(1)git init
初始化
(2)git status
获取现在文件夹现在的状态
(3)git add personal-recommendation-system
红字部分是要上传的文件夹名
(4)git status
获取现在的状态,由刚才的红色变成绿色。
(5)git commit -m “提交信息”
红色部分信息是提交信息,你可以随便加。
(6)git push origin master
上传到服务器
(7)弹出一个github的登录页面,输入github用户名和密码
然后在命令行中再次输入用户名和密码。然后就完成上传到github上。
PS:
1、本地使用的基本命令
行为 | 命令 | 备注 |
---|---|---|
初始化 | init | 在本地的当前目录里初始化git仓库 |
clone 地址 | 从网络上某个地址拷贝仓库(repository)到本地 | |
查看当前状态 | status | 查看当前仓库的状态。碰到问题不知道怎么办的时候,可以通过看它给出的提示来解决问题 |
查看不同 | diff | 查看当前状态和最新的commit之间不同的地方 |
diff 版本号1 版本号2 | 查看两个指定的版本之间不同的地方。这里的版本号指的是commit的hash值 | |
添加文件 | add -A | 这算是相当通用的了。在commit之前要先add |
撤回stage的东西 | checkout -- . | 这里用小数点表示撤回所有修改,在-- 的前后都有空格 |
提交 | commit -m "提交信息" | 提交信息最好能体现更改了什么 |
删除未tracked | clean -xf | 删除当前目录下所有没有track过的文件。不管它是否是.gitignore文件里面指定的文件夹和文件 |
查看提交记录 | log | 查看当前版本及之前的commit记录 |
reflog | HEAD的变更记录 | |
版本回退 | reset --hard 版本号 | 回退到指定版本号的版本,该版本之后的修改都被删除。同时也是通过这个命令回到最新版本。需要reflog配合 |
2、远程仓库的命令
行为 | 命令 | 备注 |
---|---|---|
设置用户名 | config --global user.name "你的用户名" | |
设置邮箱 | config --global user.email "你的邮箱" | |
生成ssh key | ssh-keygen -t rsa -C "你的邮箱" | 这条命令前面不用加git |
添加远程仓库 | remote add origin 你复制的地址 | 设置origin |
上传并指定默认 | push -u origin master | 指定origin为默认主机,以后push默认上传到origin上 |
提交到远程仓库 | push | 将当前分支增加的commit提交到远程仓库 |
从远程仓库同步 | pull | 在本地版本低于远程仓库版本的时候,获取远程仓库的commit |
3、更好的理解git