Git初体验

原创
2013/05/31 15:00
阅读数 9.9W

鉴于Git@OSC的那个888元的红薯太卡哇伊了,这几天就花了些时间看了下传说中的Git

关于Git的概念以及种种好处,这里就不在赘述了,下面就讲下简单的使用

在windos环境下使用git,首先要下载msysgit,地址在http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git,下载好后,一路next完成安装

安装好后,会有2个可执行文件,Git GUI和Git Bash,正如名称一样,一个是GUI工具,一个是命令行工具

Git Bash,它的命令和linux很像,我们可以date,time,pwd,cd,ls,exit等等,具体的我们可以输入help来查看

再操作之前我们先来多git进行一些配置以便更方便的使用

1. 对终端显示的配置,给文字添加颜色,更易于阅读

git config --global color.diff auto  
git config --global color.status auto  
git config --global color.branch auto
2.当我们向服务器(比如Git@OSC,Github)提交代码时得有个用户名邮箱什么的,可以用如下命令进行设值

git config --global user.name "Your Name"  
git config --global user.email "your@email.com"

其实这些配置都会存放在用户所在目录下的.gitconfig文件中,比如(C:\Users\Administrator\.gitconfig,这个要看实际的路径,有可能在C:\Windows\System32\config\systemprofile目录下),用Editplus打开可以查看文件内容

进行完配置后,现在比如我们现在有个eclipse工程GitHelloWord,我们如何来让git进行管控呢?

1.我们现切换到这个目录下(是和.classpath和.project同级的那个目录),右击然后选择Git Bash,这是就会弹出Git命令行,并且自动切换到当前所在目录,我们运行

git init

命令,可以看到会在该目录下生成一个.git的隐藏目录,这说明该目录以及归git进行管理了

2.输入

git add .
把该目录下的所有文件全部提交到缓冲区

3.使用

git commit -m "GitHelloWorld first commit"

命令,将代码提交到HEAD,注意此时还没有提交到服务器

4.我们该如何提交到服务器呢?对于熟悉SVN的用户,我们需要一个SVN仓库的地址还有所谓的用户名,密码,但是对于Git可能稍有不同

首先在Git Bash中输入:

ssh-keygen -t rsa -C "youremail@xxx.com"
然后一路回车,这个会在当前用户文件夹下,生成.ssh 文件夹,里边有个 id_rsa.pub文件,用记事本打开,复制其中的全部内容。

然后打开http://git.oschina.net/keys页面,在该页面中添加公钥,标题可以随便填,公钥就是刚才复制过的内容,然后保存即可

我们在http://git.oschina.net/projects/new中添加一个新项目,比如GitHelloWolrd(这个名称后面会用到,这个步骤是必须的)

我们先来测试下是否联通:输入命令

ssh -T git@git.oschina.net
然后会通知你输入用户名/密码,该密码就是你的osc账户密码,然后会提示你输入yes/no,输入yes后回车,显示出

Welcome to Git@OSC, whaon!

说明连接成功(密码也可以在http://git.oschina.net/profile/account进行设值)

下面就可以提交项目到git仓库中了,我们先输入一个不存在的

git remote add origin http://git.oschina.net/whaon/none.git

然后执行

git push origin master

,会出现错误,因为在osc@git中根本不存在none这个项目

那我们应该输入

git remote add origin http://git.oschina.net/whaon/GitHelloWolrd.git

但是会发现不能执行了,这时我们可以打开.git下的config文件,把如下内容删掉

[remote "origin"]
	url = http://git.oschina.net/whaon/none.git
	fetch = +refs/heads/*:refs/remotes/origin/*

或者执行

git remote rm origin

然后再执行

git remote add origin http://git.oschina.net/whaon/GitHelloWolrd.git
git push origin master
就可以了,这时项目已经被提交到osc@git上了

我们可以在自己的git中看到已经提交的项目了

以后的操作就是在本地修改->add->commit->push

当B程序员想参与到该项目中,该怎么办呢?

首先B程序员需要克隆远程版本库,使用如下命令

git clone http://git.oschina.net/csen66/weixin-client-for-java.git
把远程项目(该项目是我随便搜的)clone到本地,注意你只有只读权限,如果你想参与到该项目中,需要改项目的拥有者把你添加进项目组,然后就可以协作开发了

附录:

ls不能显示中文目录问题

    解决办法:在git/etc/git-completion.bash中最后增加一行: 
    alias ls='ls --show-control-chars --color=auto' 

关于Git和eclipse结合的EGit,更新地址为http://download.eclipse.org/egit/updates

展开阅读全文
git
打赏
20
130 收藏
分享
加载中
@小新de蜡笔 然道不是忘记修改SSH公钥了(https://gitee.com/profile/sshkeys)?
2018/01/20 01:26
回复
举报
windows下的,密码对了还是一直提示Permission denied, please try again.,求怎么解决
2017/03/22 21:52
回复
举报

引用来自“小新de蜡笔”的评论

引用来自“whaon”的评论

引用来自“小新de蜡笔”的评论

ssh -T git@git.oschina.net
这一步总是提示输入密码,可是输入了在http://git.oschina.net/profile/account设置的密码,依然提示Permission denied, please try again.为什么呢?弄了一晚上了,就是提交不上去。。

是不是密码输错了,可以试下oschina.net的密码
还有就是是不是公钥错了

可以了,因为之前用 remote 命令配置的是 SSH 的地址,删掉之后,重新配置成了 http 地址就好了。仔细读了一下http://git.oschina.net/profile/account这个页面上的一句话:“该密码还用于使用 http 方式 push 代码时认证用户权限。”所以领悟到,这个密码不是用于SSH的,只适用于http方式。那么SSH的应该怎样使用呢?
我也出现同样的情况,你的用怎么用http解决
2017/03/22 21:10
回复
举报
$ git push origin master
To https://git.oschina.net/SUNCOM/Test.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://git.oschina.net/SUNCOM/Test.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

请教下,这是什么情况
2016/09/20 16:24
回复
举报
谢谢楼主的分享~
2016/04/14 11:19
回复
举报
谢谢版主 成功解决问题13
2016/02/03 22:41
回复
举报
ssh-keygen -t rsa -C "youremail@xxx.com" 我了个去,我以为是SSH协议呢 写着写着 http协议了都
2015/12/29 14:36
回复
举报
按照楼主的文章,终于提交上一个正常的git项目了。。。
2015/12/03 11:42
回复
举报
你这里 只写了 windows?那我还不如去看廖雪峰的介绍
2015/08/01 11:43
回复
举报
我想请问一下楼主我电脑上同时使用github和git@osc如何实现?
2015/06/09 09:45
回复
举报
更多评论
打赏
41 评论
130 收藏
20
分享
返回顶部
顶部