安装客户端
Windows下: 下载地址 http://code.google.com/p/msysgit/, 该地址没有被墙,git官方网站 http://git-scm.com/ 已经被墙,无法访问下载。 选择下载 Git-1.7.11-preview20120710.exe ,这是笔者写这篇文章时的最新版本。下载完成,点击exe一路安装即可。 Ubuntu下:
apt-get install git
Windows下怎么使用git客户端? 到文件夹下,点鼠标右键菜单中选择“Git Bash”,使用图形界面会自讨苦吃,不推荐使用。
准备工作
配置自己的名字和邮箱,以便于以后将你的代码改动推送到远程仓库时能够辨别你是谁。
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
对终端显示的配置,给文字添加颜色,更易于阅读
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
将远程仓库克隆到本地,相当于svn checkout,克隆项目只需要一次,以后再本地克隆的项目上修改推送就行了。
git clone http://git.oschina.net/dreamidea/neocrawler.git
查看分支,同时你也看到了当前你在哪个分支上。
git branch
准备开发了,创建一个分支
git branch new
切换到上面创建的分支new
git checkout new
做了一些代码修改后,我们查看一下,git状态有什么变化
git status
把修改的这些文件放入缓存区,放入缓存区的文件才有可能被提交commit。
git add -A
这里的-A参数指的是将所有文件放入缓存区,你也可以指定文件或者文件夹来实现部分文件放入缓存区。
将修改提交
git commit -m "comments here"
和svn不同,这里的提交是将版本提交到本地仓库,如果你需要别人也看到你分支的改动,需要做下面的push将它推送到远程。
将本地仓库上分支推送到远程
git push origin new:new
这里的origin特指远程仓库,没有特别改动的话默认就是origin,new:new表示本地仓库new对应远程仓库new 别人要拿到你分支的改动,则使用git pull命令
git pull origin new:new
这里的origin特指远程仓库,没有特别改动的话默认就是origin;new:new表示远程仓库new对应本地仓库new,与git push相反哦,当然你可以忽略不写,默认就是两边的仓库同名对应。
切换回master分支,然后将new合并到master
git checkout master
git merge new
合并的逻辑是“将别的分支合并给我”,所以要将new合并到master,是切换到master上再操作。 提示: git merge 在分支比较多的情况下很容易造成扭麻花似的混论,可以使用git rebase来替代git merge,主干逻辑会比较清晰。
查看git日志
git log
做一些优化配置
Windows7: C:\Users\你的用户名.gitconfig, 没有这个文件就新建一个 Linux:~/.gitconfig,没有这个文件就新建一个 对文件进行编辑,加入credential和alias
[user]
name = Your Name
email = your@email.com
[credential]
helper = store
[alias]
lg = log --color --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --
保存文件。上面的配置中credential部分的作用是将git的账号认证保存下来,不至于每次push到远程的时候都需要输入账号密码。alias部分是定义了一个美化日志显示的别名lg,试一下:
git lg
比git log要友好的日志报告
改动了文件又不想提交它怎么办?
git add 的时候不要加这个文件(当然不能使用-A哦),如果你是要撤销改动的话用git checkout 文件名就可以了。
好了,只要记住这些命令,就足够用于开发了。