首先 github上的项目是开源的,别人都可以看到,所以你懂的。。。。 说重点: 1.创建一个新的repository: 先在github上创建并写好相关名字,描述。 $cd ~/project //到project目录 $git init //初始化 $cp * *$git add . //把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件) $git commit //提交到本地仓库,然后会填写更新日志( -m “更新日志”也可) $git remote add origin https://[email protected]:username/projectname.git //先创建github网站账户,增加到remote $git push -u origin master //push到github上 2.更新项目(新加了文件): $cd ~/project$git add . //这样可以自动判断新加了哪些文件,或者手动加入文件名字 $git commit //提交到本地仓库 $git push origin master //不是新创建的,不用再add 到remote上了 3.更新项目(没新加文件,只有删除或者修改文件): $cd ~/project$git commit -a //记录删除或修改了哪些文件 $git push origin master //提交到github 4.忽略一些文件,比如*.o等: $cd ~/project$vim .gitignore //把文件类型加入到.gitignore中,保存 然后就可以git add . 能自动过滤这种文件 5.clone代码到本地: $git clone [email protected]:username/project.git 假如本地已经存在了代码,而仓库里有更新,把更改的合并到本地的项目: $git fetch origin //获取远程更新 $git merge origin/master //把更新的内容合并到本地分支 6.撤销 $git reset 7.删除 $git rm * // 不是用rm //------------------------------常见错误----------------------------------- 1.$ git remote add origin [email protected]:WadeLeng/hello-world.git 错误提示:fatal: remote origin already exists. 解决办法:$ git remote rm origin 然后在执行:$ git remote add origin [email protected]:WadeLeng/hello-world.git 就不会报错误了 2. $ git push origin master 错误提示:error:failed to push som refs to 解决办法:$ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。 本人遇到的还有一个错误就是,工程传进github 了可是里头缺少文件, 解决方法 $git add . (注意一点 。 )表示添加所有文件,
gitconfig配置文件 Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。这些变量可以被存储在三个不同的位置: 1./etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项’--system’ 给 git config,它将明确的读和写这个文件。 2.~/.gitconfig 文件 :具体到你的用户。你可以通过传递--global 选项使Git 读或写这个特定的文件。 3.位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆盖了在/etc/gitconfig中的同一个值。 在Windows系统中,Git在$HOME目录中查找.gitconfig文件(对大多数人来说,位于C:\Documents and Settings\$USER下)。它也会查找/etc/gitconfig,尽管它是相对于Msys 根目录的。这可能是你在Windows中运行安装程序时决定安装Git的任何地方。 配置相关信息: 2.1 当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中: $ git config --global user.name "John Doe" $ git config --global user.email [email protected] 2.2 你的编辑器(Your Editor) 现在,你的标识已经设置,你可以配置你的缺省文本编辑器,Git在需要你输入一些消息时会使用该文本编辑器。缺省情况下,Git使用你的系统的缺省编辑器,这通常可能是vi 或者 vim。如果你想使用一个不同的文本编辑器,例如Emacs,你可以做如下操作: $ git config --global core.editor emacs 2.3 检查你的设置(Checking Your Settings) 如果你想检查你的设置,你可以使用 git config --list 命令来列出Git可以在该处找到的所有的设置: $ git config --list 你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}: $ git config user.name 2.4 获取帮助(Getting help) 如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息: $ git help <verb> $ git <verb> --help $ man git-<verb> 例如,你可以运行如下命令获取对config命令的手册页帮助: $ git help config
Git/Github使用方法小记
Dec 15th, 2009
今天把人间网的桌面客户端renjian-deck正式开源了,之前对javascript的了解其实非常的不够的,所以这一次的代码写的也是乱七八糟重用性及其低下,虽然我无数次的想把代码重新整理一下,不过还是糊里糊涂一时冲动的在他们还是乱七八糟的时候开源了。因为之前是基于github上的一个开源项目,所以硬着头皮也放到github上,虽然没有使用的经验,不过磨机磨机还是搞定了。
以下是具体步骤,就当是自己做个笔记了,高手请绕道吧。
1、下载安装桌面端git。
Windows请至:http://?code.?google.?com/?p/?msysgit/?
安装的时候最好还是允许在shell嵌入git的命令,相对还是比较方便的。
OSX可以在xcode中安装command line tools,或者brew install git
2、git的初始设置
1 2 |
|
3、建立仓库
在git bash里找到你的项目目录。(或直接用shell右键里的git bash here)
1 |
|
这样在你的项目目录下就会有一个.git的隐藏目录(类似于.svn) 。
4、初始化项目
1 |
|
留心后面的一个 “.” , 这是添加所有文件的情况,如果愿意,你也可以添加特定的几个文件,比如git add readme.?txt等等。
之后就可以做我们的first commit到仓库里了。
1 |
|
-m
参数以及后面的字串是添加说明。
5、 注册github账号
下面就是与github有关的操作了。
表单需要填写
- Project Name(项目名称)
- Description(描述)
- Homepage URL(主页URL,一般就以项目名称命名好了)
6、创建SSH密匙
这步工作应该是最麻烦的吧。回到桌面,打开git bash,输入以下命令。
1 |
|
确认使用默认路径,然后输入两次你要是用的密码就行(一般直接敲几个回车不使用密码)。
7、提交密匙
现在又要回到github的页面上,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public Keys标签,选择Add another public key。Title随便取,Key是一段东西。
找到刚才创建密匙的那个目录下(默认是C:\Documents and Settings\你的windows用户名.ssh
,OSX是~/.ssh
)找到id_rsa.pub文件,把它打开可以看到一堆文字,拷贝下来黏贴到github页面key的空白处。然后Apply,就好了。
可以使用以下命令测试连接
1 |
|
会要求输入你刚才设置的密码,如果成功的话可以看到这样的ERROR(orz,起码证明连接是成功了)
1 |
|
8、上传代码
最后就是上传你的代码了~ bash切换到你的项目目录下,输入以下命令。
1 2 |
|
hehe,现在再去http://github.com/你的github用户名/你的github项目
就可以看到你的项目了~ Good luck
当然这是从无到有,如果你有一个git的repo,想添加到github上,那就直接使用第8步的命令就可以了(不要忘记密匙的相关工作)。话说很多初学者应该会和我一样,在初期搞不清git和github的关系,git是和CVS,SVN并列的一个概念,而github是和Google Code, sourceforge并列的一个概念,这样说就明白了吧。所以,git的学习的话,参见这里。
BTW:Github的社区感很好,体验很不错,怪不得有这么多人在github上乐此不疲的交流代码。
最后附图一张。