今天学习了GitHub,现在简单总结一下。
Git是一种快速的分布式版本控制系统。(GitHub官网:https://github.com/ GitHub for Windows 下载地址:https://windows.github.com/ )
1.配置本地git
首先在本地创建ssh key:
$ ssh-keygen -t rsa -C "your_email@youremail.com"
后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回
车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。
回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是
否成功,在git bash下输入:
$ ssh -T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub d
oes not provide shell access 。这就表示已成功连上github。
接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次c
ommit都会记录他们。
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
接下来在本地仓库里添加一些文件,比如README,
$ git add README
$ git commit -m "first commit"
上传到github:
$ git push origin master
git push命令会将本地仓库推送到远程服务器。
修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来
智能添加文件。之后git commit提交本次修改,git push上传到github。
$git add .就是添加所有代码
3.克隆
如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。 执行 git clone
[url] , [url] 为你想要复制的项目,就可以了。
$ git clone git://github.com/schacon/simplegit.git
Initialized empty Git repository in /private/tmp/simplegit/.git/
remote: Counting objects: 100, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 100 (delta 35), reused 0 (delta 0)
Receiving objects: 100% (100/100), 9.51 KiB, done.
Resolving deltas: 100% (35/35), done.
$ cd simplegit/
$ ls
README Rakefile lib
上述操作将复制该项目的全部记录,让你本地拥有这些。并且该操作将拷贝该项目的主分支,使你能够查看代码,
或编辑、修改。进到该目录中,你会看到 .git 子目录。所有的项目数据都存在那里。
4.使用git 新建分支以及管理分支
在你的github分支上, 你需要保持你的主分支干净, 我说的干净就是没有任何改变,那么你可以在任
何时候从你的主分支修建一个分支。每次, 你想提交一个补丁或者一个新特性时,你需要为它新建一个分支,
而这个分支无论如何都会从你的主分支复制过来。
当你要在一个分支做拉请求时, 你也能够继续在其他分支上工作,而且也能够在其它分支上做拉请求。
在你新建一个新分支从主分支上拉下来所有改变之前,你的主分支需要确保是最新的。
在本地电脑新建一个分支: git branch <新分支名字>
将新分支发布在github上: git push origin <新分支名字>[*如果边看边做, 会出错, 请往下看]
切换到你的新分支: git checkout <新分支名字> [* 事实上切换到其它分支都是这个命令]
当你想要在你的分支上提交内容,请确保是在你的那个分支上。[* 我的一篇博文上写到了在终端上显示
当前分支以及显示当前分支是否做过修改即该分支是否干净]
查看所有已存在的分支,你可以使用: git branch
它就会有如下显示:
approval_messages
master
master_clean
[* ' · ' 代表了 你现在所在分支]
为你的分支加入一个新的远程端: git remote add <远程端名字> <地址>
[* 前文提到出错的地方就是缺少了这一步,如果你在github申请了帐号,可以新建一个仓库,这时就会有一个
地址[git@github.com:用户名/项目名.git], 远程段名字可以随便取,如上文的origin]
通过提交将所有修改提交到你的分支上: git push origin <远程端分支> [* 原文有点问题, 远程端
分支一般是与本地分支是对应的, 当然你也可以在本地一个分支提交到远程端分支的另一个分支如: git push
origin master 提交到远程端的主分支上]
在本地删除一个分支:git branch -d <本地分支>
在github远程端删除一个分支: git push origin :<远程端分支>
唯一不同的就是冒号代表了删除
如果你想要改变默认分支, 在github上是很容易的,在你的分支上到Admin页面,在下拉菜单里选择你
想要设置为默认分支的那个分支。