github操作

来源:互联网 发布:Mac官网源码 编辑:程序博客网 时间:2024/05/21 06:43

a

注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目,这也满足代码分享的目的,我最喜欢的倒是它的代码展示方式,可以直接浏览你的代码,代码是经过高亮、添加行号处理过的,十分漂亮,体验一流,比如这个Webpy托管的地方。而作为想要了解你代码的人,可以选择直接在线浏览自己感兴趣的,也可以直接下载压缩包,或者直接使用Git clone到本地。
因为GitHub是基于Git版本控制系统,所以你上传修改代码什么的,都需要使用Git工具。我这里主要是用来分享和展示代码,所以不想在版本控制方面做过多的阐述,下面就简单讲解一下怎么在GitHub上新建一个项目,还有把自己的代码传上去。下面的前提是你已经注册了GitHub和下载安装了Git——Git下载、Windows版本下载。
上传分享代码
1.在GitHub上建立项目
登录GitHub后,你可以在右边靠中那里找到一个按钮“New Repository”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似git@github.com:XXX/XXX.git的地址,这个就是你这个项目的地址了。
2.配置Git以及上传代码
安装Git成功后,如果是Windows下,选择Git Bash,在命令行中完成一切,可能开始有点麻烦,不过就那几条命令行,用几次就记住啦。首先初始设置Git:
1 git config --global user.name "Your Real Name" 2 git config --global user.email you@email.address

然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key:
1 ssh-keygen -C 'your@email.address' -t rsa

然后要你输入SSH密匙的存放位置,可以不管,直接回车使用默认路径。再输入你想要的密码,SSH key就生成了。现在你需要将这个Key提交到GitHub,首先打开Key保存的位置,里面会有三个文件,找到id_rsa.pub,用文本编辑器打开,复制里面的全部字符。到GitHub,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public Keys标签,选择Add another public key。Title可以随便填一个,Key就粘贴刚才的字符,提交。
完成这些工作后,就可以上传自己的代码了。找到自己要分享上传的代码文件夹,右击选择Git Bash,或者在Git Bash中进入这个文件夹。建立一个仓库:
1 git init

选择要添加进仓库的文件:
1 git add .

一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库:
1 git commit -m 'Test'

-m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件信息上显示这个说明,如下图标记的地方。
搞了这么久,现在才开始把本地仓库上传到GitHub了,下面两行命令搞定问题:
1 2 git remote add origin git@github.com:XXX/XXX.git 3 git push -u origin master

这个git@github.com:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。
如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。
一些可能遇到的问题解决:
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!
3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section ‘remote.origin’. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
如果输入$ ssh -T git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to …….
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
3、如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.
4、则需要重新输入$ git remote add origingit@github.com:djqiang/gitdemo.git
使用git在本地创建一个项目的过程
$ makdir ~/hello-world    //创建一个项目hello-world
$ cd ~/hello-world       //打开这个项目
$ git init             //初始化
$ touch README
$ git add README        //更新README文件
$ git commit -m ‘first commit’     //提交更新,并注释信息“first commit”
$ git remote add origin git@github.com:defnngj/hello-world.git     //连接远程github项目
$ git push -u origin master     //将本地项目更新到github项目上去






上周,我在 FITC SCREENS 为设计师们做了一次关于GitHub的演讲,你可以在这里看一下演讲的幻灯片。我觉得把演讲的精华内容放在博客上让大家都能看到,是一件很重要的事,所以这就是你接下来将要看到的。

img-1

Git是一个管理和更改文件的工具,GitHub的是建立在Git上的一个Web服务。这篇文章就是准备向你介绍一些Git和GitHub的基础知识,并教你如何使用这些工具与你的团队成员协作。

Git可以管理任何类型的文件,但它通常用于文本文件和图像管理。通常情况下,我们不会用它来存储格式比较复杂的文件,比如PSD文件。

我们使用Git有两个主要原因。其一是它可以帮助我们管理多个团队成员在相同的文件上做的更改 —— 帮助我们跟踪谁在什么时候、做什么样的更改。使用Git的好处是很具体的,但它又有一个陡峭的学习曲线。然而,学习Git是伟大的第一步,它教你学着去改变你已设计的项目。本文也不打算深入到命令行或一个特定的工具,而是教你一些高层次的概念,这将有助于你无视工具的不同(因为它们本质上都是一样的)。



分支(Branches)

分支用来隔离文件更改的。想像一下,你所有的文件复制被到一个新文件夹,所做的任何更改只是在副本操作,在最后你 拉(pull) 这些副本放回到原来的文件夹。

一个分支就是像对你所有的文件做一份复制。

“主”分支(“master” branch) 是一个标准分支 —— 所有新分支都是在主分支上创建的。

branching

当你从主分支创建一个新的分支,就像你为所有的文件创建了一份新副本,这些副本上所做的更改并不会反映回原文件夹(更改新分支内容,主分支不会有变化,除非你 push,接下来会有讲到)。



提交(Commits)

当你操作一个分支时,就像你正在做修改这些文件的副本。当你完成了一个更改,比如增加了一些新的CSS,你应该 提交(Commits) 你的修改。这种“保存”在新目录中的新文件的快照,可以让你随后 恢复(revert) 到该时间点。在你提交之前,没有什么是永久的,所以你可以很容易地做出一些奇怪的、实验性的更改,看它是否还能正常工作。

当你提交时,你只是提交给你的分支,你的分支仍然是那个主分支的一部分,代表的是一系列的提交操作之后的结果。

commits

上图你的分支(Your Branch) 就是有两次提交结果之后的分支,依旧是主分支的一部分。



本地和远程(Local & Remote)

这是让Git变得有点复杂的那部分。主分支和你的分支都存在于 本地(Local),也有主分支的一个副本在GitHub上,即 远程端(Remote)。这就像在办公室有一个共享文件服务器,它有一个与你保持同步的文件夹。

当你创建一个新的分支,所有的修改都是在本地操作(你电脑的文件夹中)。

localremote

同样,你的分支只存在于你的本地计算机上,直到你把它 推到(push) 远程端,这就是接下来要说的。



推送和拉回(Pushing & Pulling)

当你准备向人展示你的更改时,你就应该把你的分支,其中包括变更,都 推送(push) 到GitHub上。这类似于你把自己本地最新版本的文件夹复制到共享的文件服务器。

pushing

现在你的最新版本分支在本地和远程端都有了。一旦你把你的更改推送到GitHub上,就需要创建一个 拉回(pull) 的请求(原因往下看),这是一个将你的分支更改拉回到主分支的请求。

pullrequest

一旦这些更改都被拉入远程主分支,你的本地主分支的版本是过时的(记住,此时你的分支上的更改会被暂时孤立),所以现在又需要从远程拉最新的版本来更新您的本地主分支,就像从服务器重新复制原始文件。

pull

现在就令人困惑了,因为我们在两种情况下都使用了“拉”一词。第一次,我们想把我们的分支更改合并到主分支;第二次,我们想把主服务器上的更改拉回到本地以保持最新版。


总之,Git是团队协作时一个非常好用的文件管理工具,不过学起来确实比较复杂。我们都知道要想熟悉它,最好的方式就是不断去用它。


0 0
原创粉丝点击