github:初学者使用设置与上传项目

来源:互联网 发布:软件开发工作心得体会 编辑:程序博客网 时间:2024/06/02 02:16

以前介绍过 SVN,这次我介绍 git,这两个都是团队混合开发中,用来管理项目的插件;


  GitHub有一个很强大的功能就是,
你在服务器上边可以创建一个库,多人开发的时候,大家的写码速度不一样,
有快慢,有对错,需要花长时间整理,
  怎么在汇总所有人的代码之后发现错误等等一系列问题?我们就用到了GitHub这个软件!
我们在GitHub服务器上有一个主仓库,这里用来储存你的所有代码,
如果不付费的话是所有人都可以看的,如果你不想让别人看到你的代码,
可以选择付费仓库。

  我们创建了主仓库之后,就可以在电脑上创建分支,之后你就可以在电脑上完成自己的代码,
写完之后直接同步在电脑的分支,当你认为可以上传的自己的主仓库时,就可以申请更新,
  当通过审核的时候,你代码就出现在了自己的主仓库中,这样全世界的程序员都可以查看你的代码。
全世界现在已经有300万的注册用户,甚至还有一些相当知名的开源项目也在其中公布代码。
在GitHub上你可以看到很多计算机领域的精英所分享的自己的代码。
这是GitHub的两个主要优点适合团队协作,以及下载其他优秀者的代码


今天,GitHub已是:
一个拥有143万开发者的社区。其中不乏Linux发明者——Torvalds这样的顶级黑客,
以及Rails创始人DHH这样的年轻极客。
· 这个星球上最流行的开源托管服务。目前已托管431万git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在GitHub首发,例如:BootStrap、Node.js、CoffeScript等。alexa全球排名414的网站。


https://github.com/ 这是GitHub的官方网站,在官网上可以注册属于自己的GitHub账号,
网上是全英文的,对于英语不好的同学建议使用谷歌浏览器,
谷歌浏览器可以翻译网页变为中文使用起来十分方便。



______________________________________________________________________________


如果熟练的使用github,阅读全英文的页面,对于初学者比较怕,
希望大家耐心一点!


一、注册github账号(略!)
(由于这个网站属于国外,访问比较慢,不过没有墙!)


二、安装 git,这个插件用来上传项目到github,下载安装git(略!)
(不会找就去 360管家,这里有一键安装的,一直点击下一步)


三、在github上新建一个仓库,用来储存上传的项目



我们创建的是一个github仓库,一个仓库里只能存放(或叫对应)一个项目。







四、创建密匙


(SSH keys)
我们如何让本地git项目与远程的github建立联系呢?
之里就用的密钥。通俗点叫口令吧!
打开你安装的git,运行 git-bash.exe
输入dos命令: (bash里面自动有 $ 的!)

1、检查本机的ssh密钥
$ cd ~/.ssh 
如果提示:No such file or directory 说明你是第一次使用git。
————————————————————————————
如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。
$ mkdir key_backup 
$ cp id_rsa* key_backup 
$ rm id_rsa*
——————————————————————————————

2、生成新的密钥:(请输入你的邮箱,是注册github 的邮箱,可以是QQ邮箱!)
ssh-keygen –t rsa –C “xxxx@qq.com”
在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,
如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。


3、提取 key
打开本地C:\Documents and Settings\Administrator\.ssh\id_rsa.pub文件。
此文件里面内容为刚才生成人密钥。
一般生成正确的key,后面就是你的邮箱地址,
如果不是你的邮箱地址,那么请重新删了.ssh文件夹,
重新尝试!



去 github,你的头像-settings,来到这里 ssh and gpg keys!
选择 ssh keys,输入你的key,确定!




五、开始初始化部署项目

输入dos命令


ssh –T git@github.com
一般都可以过,如果这里报错,那么




请去到 Git\etc ,找 hosts,这个文件夹,
先ping github.com ,看看你的IP 是什么,


然后我们 添加上去,比如我的也报错,


ping出来的IP 是192.30.255.112,那么就在 hosts里面加一句:


#192.30.255.112 github.com

如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 
说明你连接成功了。
——————————
如果不行,重启一下试试,或者去百度一下原因


ssh t git@github.com(若不成功,则去掉t参数)


六、设置用户信息

这一步不是很重要,但是不设置又不行,
就是在git中设置用户名 和 邮箱:


git config --global user.name "ssh159" //给自己起个用户名
git config --global user.email "xxxx@qq.com" //填写自己的邮箱


(别照着我的用户名和邮箱抄啊!!!)


git config --global github.user ssh159 //github 上的用户名 
git config --global github.token e97279836f0d415a3954c1193dba522f


本来应该去 Settings-admin,寻找 token的,但是找不到,
于是借 鸿洋dalao的teken使用一下,也是可以过的

注:官方文档中未找到 github.user 和 github.token 两个变量,
使用 git help config




以上都是上传项目之前的准备工作,已经完成了!


七、开始上传项目


简单说一下dos命令吧:
ls :查看当前目录的文件
cd /d :进入 D盘
cd java/ :进入java文件夹
cd .. :返回上一级文件夹


_______________________________
首先去到你要上传的项目的目录,
比如我现在要ssh框架,xiaomi 的文件夹中,
先初始化:


$ git init 




git status :查看当前文件夹的状态,如果是第一次上传,那么全部文件为红色!
git add :注意,后面有个点号,这个是上传当前文件夹,全部内容!
把文件全部搬运到仓库里面!

PS:git的强大之处,就是用本地仓库,没有网络也可以先将更新的内容提交到仓库。




git commit -m "new natter" :对你更新或者更改的内容做一个描述!
git remote add origin git@github.com:ssh159/ssh_xiaomi.git
//设置你要提交的仓库地址 ,就是第三步,我们去页面new 的仓库!
——————————————————————————
如果打错了,提示出错信息:fatal: remote origin already exists.
可以输入 : $ git remote rm origin ,删掉你的错误仓库地址,再重新设置!
——————————————————————————
git remote -v :查看当前的仓库地址!
git push -u origin master : 上传全部文件到仓库!


大功告成!


八、其他设置


1、如果回到家里,想继续修改公司的项目代码?
将项目copy 到你的本地,存放到你设置的目录
git clone git@github.com:ssh159/ssh_xiaomi.git 


2、如果本地有了这个项目,你只是想更新:
git fetch origin :获取远程更新!
git fetch origin/master :吧更新的内容合并到本地分支/master
————————————————————


3、项目中删除了一些文件,如何提交?
假如远程仓库中已经存了aaa这个文件,我fetch了下来,
并删除了aaa这个文件,想再push上到远程仓库中,
并使远程仓库中的项目被新的修改覆盖(也是是远程仓库中的aaa也被删除)


git status //可以看到我们删除的哪些文件


git add . //删除之后的文件提交git管理。


$ git rm src/com/hzh/hibernate/dao/aaa.java 
//移除我们删除的那个文件,不然git不允许我们往远程仓库提交。


(Ps: 如果你想删除的是某个目录(java包),这里想移除整个目录的内容。)


$ git rm src/com/hzh/hibernate/bbb/ -r 
 // -r 会把bbb/目录下的所有内容一次性移动。


------------------------------------------------------------------------
远程创建了一个新仓库,本地创建了一个新项目,如何使新的项目与仓库对应起来


其实,这个也很简单,只是我当时对那些命令不太理解,所以比较模糊,不知如何对应。


git remote add origin git@github.com:ssh159/ssh_xiaomi.git


//还是这个命令,在你push项目之前加上这一句就OK了。


git@github.com:defnngj/hibernate-demo.git 就是你常见的新仓库的地址啊。
git切换到新项目下,在push之前,加上这一句,
我们创建的新仓库就与新项目建立了连接。


注意:


1.生成SSH keys的过程可参考官方文档
https://help.github.com/articles/generating-ssh-keys


2.使用Git Bash执行命令,而不要用windows的cmd执行,以免因系统中安装过cygwin和MinGw等工具产生不必要的问题。


3.GitHub官方推荐使用HTTPS的方式push和pull代码


4.使用HTTPS方式commit代码时用户名不会关联到Files中,也不会显示在Contributions中。但是在Public Activity中本地用户名是关联的(链接到主页)。

5.要将用户名关联到GitHub用户,则user.email必须设置为注册账号时使用的Email地址。



以上感谢各位csdn的dalao,以及鸿洋dalao

 配置git 过程多有报错,请大家耐心解决!