通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  中士

注册:2009-4-23
跳转到指定楼层
1#
发表于 2012-7-3 10:59:47 |只看该作者 |倒序浏览
http://blog.enjoyrails.com/2008/12/31/git%E4%B8%80%E5%88%86%E9%92%9F%E6%95%99%E7%A8%8B/                                                                                               

流程:取代码 → 每次工作前更新代码到最新版本 → 修改代码 → 提交代码到服务器
取代码及修改全局设置

设置用户名与邮箱
12git config --global user.name "My Name"git config --global user.email "my@email.com"

从已有的git库中提取代码
1git clone git@server:app.git myrepo

每次更改代码的操作

更新本地代码到最新版本(需要merge才能合到本地代码中)
1git fetch

合并更新后的代码到本地
1git merge

更新代码方式的另一种方法(git pull是git fetch和git merge命令的一个组合)
1git pull

修改代码后,查看已修改的内容
1git diff --cached

将新增加文件加入到git中
1git add file1 file2 file3

从git中删除文件
12git rm file1git rm -r dir1

提交修改
1git commit -m 'this is memo'

如果想省掉提交之前的 git add 命令,可以直接用
1git commit -a -m 'this is memo'

commit和commit -a的区别, commit -a相当于:


  • 第一步:自动地add所有改动的代码,使得所有的开发代码都列于index file中


  • 第二步:自动地删除那些在index file中但不在工作树中的文件


  • 第三步:执行commit命令来提交
提交所有修改到远程服务器,这样,其它团队成员才能更新到这些修改
1git push

其它常用命令

显示commit日志
1git log

不仅显示commit日志,而且同时显示每次commit的代码改变。
1git log -p

回滚代码:
1git revert HEAD

你也可以revert更早的commit,例如:
1git revert HEAD^

将branchname分支合并到当前分支中。(如果合并发生冲突,需要自己解决冲突)
1git merge branchname

解决冲突
当merge命令自身无法解决冲突的时候,它会将工作树置于一种特殊的状态,并且给用户提供冲突信息,以期用户可以自己解决这些问题。当然在这个时候,未发生冲突的代码已经被git merge登记在了index file里了。如果你这个时候使用git diff,显示出来的只是发生冲突的代码信息。
在你解决了冲突之前,发生冲突的文件会一直在index file中被标记出来。这个时候,如果你使用git commit提交的话,git会提示:filename.txt needs merge
在发生冲突的时候,如果你使用git status命令,那么会显示出发生冲突的具体信息。
在你解决了冲突之后,你可以使用如下步骤来提交:
第一步(如果需要增加文件):
1git add file1

第二步:
1git commit

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-17 21:34 , Processed in 0.213374 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部