Git确实比svn好用,就是稍微不容易理解。
git分本地库和远程库,修改的工作代码要先提交到本地库,然后再提交到远程库。这个是刚接触的人比较困惑的地方,还有分支来困扰,所以了解了解工作代码、本地库和远程库后,创建、切换、合并、删除分支也是重点要了解的。
1 2 3 4 5 6 | groupadd git adduser -g git git mkdir -p /home/git/mydemo cd /home/git/mydemo git init --bare --shared # 在mydemo文件夹创建裸仓库 chown git:git /home/git/mydemo # Copy after login |
服务器端建裸库后,本地push上服务器后,服务器端将自动创建master库。创建master库前,本地不可pull下了。
在Zend Studio左侧项目文件夹上右击选择
1 2 3 | team => share project => Git => 勾选 "Use or create repository in parent folder of project" => 在自动切换出来的窗口点击 “Create Repository” Copy after login |
就在项目文件夹下创建 .git 文件夹初始化好本地版本仓库了。
1 | Team => Commit |
切换到Git视图,找到项目的Remotes,右击选择“Create Remote…”,点OK后,点击“Change…”设置远程版本库,把“ssh://mygit@yulans.cn/gitdata/mydemo”贴到URI输入框,一切都懂了。我们这是用ssh账号来搞的。
1 | Team => Push to Upstream |
把已提交到本地版本库的代码提交到终端库,修改但未提交到本地版本库的不会提交到终端库。
1 | Team => Pull from Upstream |
和svn一样,以后有时间再补写。
远程代码有更新了,本地的代码需要跟着变。
执行 Team => Pull from Upstream
如果远程有更新,项目名后面将显示箭头和数字,向下的箭头和后面的数字说明终端有n个修改并且已经下载下来,这时我们需要执行Team=>Merge…合并远程更新到本地版本库(这一步需要手动操作,工具不自动帮我们合并,这一步很容易把刚入门的人弄蒙)。如果有向上的箭头和数字,说明本地有n个修改需要上传到远程终端。
执行Team=>Merge…
当前本地版本前面有打钩,选择Remote Tracking下的分支合,点击Merge后开始合并。
命令行 git branch 分支名
IDE:Team => Switch To => New Branch… 输入分支名并确定。
命令行 git checkout 分支名
IED:Team => Switch To 选择分支名 即可。
需要注意的是,切换到分支后,之前分支拥有的文件,切换后的分支没有,则文件将临时被删除,切换回之前的版本后,文件又自动冒出来。新手碰到这一步很容易被吓晕,“我的文件啥都没了。。。。”。
分支pull并push后,切换到主线,pull后,执行Team=>Merge…,选择Local要合并的分支线,点击Merge合并,
然后push主线到远程即可。
Views - 4