使用Git和Github来管理自己的代码

注册Github并创建仓库

1,先注册github.com的账号官方网站: https://github.com/

2,创建仓库,仓库分公开的和私有的,公开的是免费的,私有的是收费的,公开仓库的创建方式如下:

点击New repository按钮,弹出如下界面,第一行填仓库名,这里就随便叫Test了,第二行是对这个仓库的描述,之后那个Public就是公共仓库的意思,接下来的README就是在仓库里创建一个README文件,可以往里写一些介绍你这个项目的功能之类的东西,再下面那个Add gitignore按钮,可以选择你这个项目是用什么语言之类的,我这里选择了Qt,后面那个License我没有选,点击”Create repository”
这里写图片描述

在windows下安装Git

下载网址: https://git-for-windows.github.io/

使用默认设置安装就可以。

使用git和github托管项目代码

1, 双击图标打开”Git Bash”, 打开界面如下:

这里写图片描述

2,配置Git,图示如下:

a) 先输入ssh-keygen –t rsa –C “邮箱地址”,注意ssh-keygen之间是没有空格的,尽量自己敲,复制粘贴可能会有问题

b) 回车之后,会出现一行,让你输入一个保存密钥的地方,括号里面是它默认的位置,可以在冒号后面自己写一个位置保存,建议还是直接用他的默认路径就好,直接回车,之后,会设置密码,这样密钥就生成了,可以打开id_rsa.pub来查看,里面的所有内容就是这个密钥,一会需要使用的时候,就直接全选复制就可以了

这里写图片描述

这里写图片描述

c) 现在转到github网站上去配置一下ssh key,点击头像找到左侧的SSH Keys,之后点击右侧的Add SSH Key,这样就会出现添加SSH Key的界面,在Title这一栏填一个名字,名字随意起,之后打开刚才生成的那个文件id_rsa.pub,全选复制里面的内容到Key这一栏中,点击Add Key按钮完成操作,这时你填的邮箱会收到一封确认的邮件,不用管它
这里写图片描述
这里写图片描述

d) 验证一下是否设置成功,在git bash下输入如下命令:

ssh –T git@github.com

出现如下图示,因为我不是第一次设置了,所以是这样的,如果你是第一次,会让你输入yes或no,这时输入yes就可以了,其它显示就和我这个是一样的。如果你的是出现不是这些内容,有可能是显示权限问题什么的,就应该是我上面提到的那种情况,你看一下你生成密钥时是否操作正确,目录下是否有那个known_hosts这个文件
这里写图片描述

e) 现在配置一下用户名和邮箱:

git config –global user.name “用户名”//双斜杠

git config –global user.email “邮箱”

到现在为止,我们就算把Git和github配置完了,我现在要做的事情是把自己的项目托管到github上,那么就开始操作吧

把项目托管到github

右击自己的项目文件夹,出现的菜单中有Git Bash Here,点击它,现在就出现一个和开始使用那个Git Bash一样的窗口,不过现在是在git_project目录下使用了,其实如果知道Shell命令,可以直接使用刚才的那个窗口直接使用cd命令进入这个目录下,效果是一样的,现在输入如下命令:

git init 
git remote add origin git@github.com:pkpk8/Test1.git
git add .  //add后面加了一个点,是想要提交所有文件,如果想提交指定的文件,可以写文件名
git commit –m “Test1_v1.0版本”  //-m后面跟提示信息
git push git@github.com:pkpk8/Test1.git //推送

其中pkpk8是我在网站上注册时使用的用户名,Test1.git是我为这个项目建立的另一个仓库名,在网站上显示是这样的,并且在Github创建仓库后也会有相关的操作说明:

注:可能碰到的问题:

1,error: src refspec master does not match any.
该错误的原因是,目录中没有文件,空目录是不能提交上去的

解决方法

touch README
git add README 
git commit -m 'first commit'
git push origin master

2,add origin提示出错信息:fatal: remote origin already exists.

解决办法如下:

输入$ git remote rm origin

Git常用操作:

如何提交新创建了一个项目?

假设你创建好了一个项目,并切换到项目的根目录下面:

$ git status //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。

$ git add . //(.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。

Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。

$ git commit –m”new natter ” //对你更新或修改了哪些内容做一个描述。

$ git remote add origin git@github.com:defnngj/hibernate-demo.git

//如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。

Ps: origin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。

$ git remote -v //查看你当前项目远程连接的是哪个仓库地址。

$ git push -u origin master //将本地的项目提交到远程仓库中。


假如,你回到了家,想把公司提交的项目克隆到本地?

如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。

$ git clone git@github.com:defnngj/hibernate-demo.git //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。

假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?

$ git fetch origin //取得远程更新,这里可以看做是准备要取了

$ git merge origin/master //把更新的内容合并到本地分支/master


项目中删除了一些文件,如何提交?

假如远程仓库中已经存了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:defnngj/hibernate-demo.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地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值