英文出处:Nico。
http://blog.jobbole.com/53573/
转自小菜的博客 收藏方便查看
http://blog.csdn.net/kasagawa/article/details/6797812
1. git服务器的搭建
服务器搭建好后
最简单不加任何安全控制时,就是在服务器上安装一个.git,如下:
$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git –bare init
其中,搭建服务器后,开发人员就可以把它加为远程仓库,推送一个分支,从而把第一个版本的工程上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过 shell 登入主机并创建一个纯仓库。我们不妨以 wst 作为 git 服务器用户和仓库所在的主机名。那么以下这些命令都是可用的:
# 在一个开发人员的电脑上
$ cd myproject
$ git init
$ git add . #这里选择你需要添加的文件
$ git commit -m ‘initial commit’
$ git remote add origin wst@192.168.88.46:/home/wst/wanghanbo/wireshark.git
$ git push origin master
这样git服务器就有了第一个初始代码版本。
2.开发人员提取代码
下面各位其他的参与开发人员先安装git,再设置用户名与邮箱:
git config --global user.name"My Name"
git config --global user.email"my@email.co
然后从代码库clone出代码:
$ git clone
wst@192.168.88.46:/home/wst/wanghanbo/wireshark.git
这样,每位参与的组员也有了与代码库版本一致的第一份代码。
3.开发中的操作
现在,我们要开始进行开发了。可以参考
http://blog.enjoyrails.com/2008/12/31/git%E4%B8%80%E5%88%86%E9%92%9F%E6%95%99%E7%A8%8B/
首先我们来看如何更新本地代码到最新版本:
第一种方法用fetch(需要merge才能合到本地代码中)
git fetch origin master :temp
git merge temp #合并更新到temp分支的代码到本地代码库的master分支中更新代码方式的另一种方法(git pull是git fetch和git merge命令的一个组合)
git pull origin master
解决代码的冲突问题
注:当merge命令自身无法解决冲突的时候,它会将工作树置于一种特殊的状态,并且给用户提供冲突信息,以期用户可以自己解决这些问题。当然在这个时候,未发生冲突的代码已经被git merge登记在了index file里了。如果你这个时候使用git diff,显示出来的只是发生冲突的代码信息。
在你解决了冲突之前,发生冲突的文件会一直在index file中被标记出来。这个时候,如果你使用git commit提交的话,git会提示:filename.txt needs merge。在发生冲突的时候,如果你使用git status命令,那么会显示出发生冲突的具体信息。
解决玩冲突问题后,需要commit一下:
git commit #将已经解决冲突的代码提交到本地代码库
git branch -d temp #删除temp分支
新建分支并进行本地开发:
git branch development #搞个development分支给自己开发
git checkout development #切换至development分支进行开发
开发xxxx过程,确认功能开发完毕,可以继承到完整系统中时运行:
git checkout master #切换至master分支
git merge development #合并development及master分支
修改代码后,查看已修改的内容:
查看修改的内容
git diff --cached
将新增加文件加入到git中
git add file1 file2 file3可以设置忽略的条件:
最简单的方法在项目根目录与.git目录同一位置创建一个文件: .gitignore