最近做的项目要使用到github,但是由于本人的错误习惯很少使用GitHub、git等。所以也没有记住之前初学的GitHub使用教程,重新把东西捡回来,以后能保持一个良好的习惯,用于记录使用到的命令(这是个持续记录笔记)。
1、GitHub官网:https://github.com
2、GitBash下载:https://git-scm.com/downloads
2、在GitHub上sign up 创建账户(按操作流程,不赘述)
3、由于机子之前重装过,原来的密钥文件也不见了,但是不打紧,重来吧。
打开gitbash(假装有图片)
首先先创建本机的SSH文件
通过输入命令行
1、$ssh-keygen -t rsa -C "自己的邮箱"
接下来会询问保存路径以及输入密码,可以不用理,一路默认,最后在默认用户文件夹中可以找到.ssh文件里面会有两个文件
一个是id_rsa 另一个是is_rsa.pub。(看到这里想到了计算机网络中说的公钥私钥的那一部分,大概映像是说私钥是自己保存,公钥是其他人可以取到的并且通过公钥与私钥配对完成验证,哎忘了好多,真的考试后忘了太多,惭愧啊啊啊啊。)
好了,打开is_rsa.pub复制里面的内容到github上找到setting,找到SSH and GPG keys 添加key,标题随便取,把复制的内容贴到key中。
2、$ssh -T [email protected] 检查是否成功,如果说continue那回答yes,出现You've successfully authenticated, but GitHub does not provide shell access 。则了,否则查看一下之前的步骤哪里错了。
3、$git config --global user.name "取个名"
$git config --global user.email "邮箱"
commit时候都会记录的信息。
4、从本地仓库上传到远程仓库。
首先在GitHub上面创建一个项目 new repository
接下来你就可以在your repositories中找到新建的带readme.md文件。
接下来,回到本地的仓库,对要上传的文件夹右键gitbash,
$git init ,用以在本地创建新的git仓库;
$git remote add origin [email protected]:Dunka97/TestGitBash.git ,用以与远程仓库连接
由于本地仓库没有readme.md文件,所以直接把本地文件上床到远程会报错:error: failed to push some refs to '[email protected]:
这时就需要 $git pull --rebase origin master 把不同步的文件拉到本地,算是对仓库的一种更新;
当我们修改完东西,想要把文件保存到远程的时候
$git add 文件名 //$git add * ;这个是添加所有文件
$git commit -m "修改的地方等信息" ;这时还为上传到远程,这是在本地打上记号
$git push origin master ;真正意义上的合并到远程仓库。在github上也可以查到提交记录
在这个过程中由于忘了$git init 报了这个错误fatal: Not a git repository,真是不应该啊
5、看到别人开源的项目很好,想要拉下来仔细瞧瞧代码的过程
先给项目创建一个文件夹,它的安身之处,利用 $cd 路径/路径/跳转到该路径
再者,$git init 创建新的Git仓库
$git remote add origin 远程仓库地址 ;这里就是与该仓库远程连接
$git clone 远程仓库地址(例如 https://github.com/username/projectname.git);耐心等待,之后查看文件夹就会发现文件都拉下来,可以向大佬们学习辣
除了通过GitBash,还可以直接在github.com上面download.......
6、使用github进行团队合作:http://www.cnblogs.com/schaepher/p/4933873.html
7、GitHub上fork别人打代码后如何保持和原作者同步的更新:https://blog.csdn.net/GMingZhou/article/details/78790332
8、webstorm上git的使用 https://www.tuicool.com/articles/b2QNvq
9、Github 将新 commits 更新到 fork 的项目上的方法 https://blog.csdn.net/HeatDeath/article/details/78609854
10、上传时会发现没有报错但是就是failed,百度了下发现可能是代码有冲突,我最后是把以把新的代码拉下来再重新上传,文章参考:
传到远程 :https://blog.csdn.net/wh_19910525/article/details/7438183
遇到冲突:git stash https://blog.csdn.net/wh_19910525/article/details/7784901
git reset --hard https://blog.csdn.net/nailsoul/article/details/81332736
菜鸟教程:http://www.runoob.com/w3cnote/git-guide.html
参考的gitbash命令:http://www.cnblogs.com/laodang/p/9990212.html