采用Git的开发流程 按原来的经验,自己总结的。 有什么不对的地方,请大家指教。谢谢~~~ 导入新项目(server IP: 192.168.128.64) cd test git init git add . (为test目录下所有文件存入暂存区) git commit –m "***" (将暂存区中的所有内容永久性的放入本地数据仓库中) git log -1 (查看最后一次交付的哈希值) git tag V0.1_090629 哈希值 (创建标签并指向一个具体的交付) Dev1: git clone ssh://192.168.128.64/pub/scm/test.git dev1 (clone 服务器上的数据库至本地dev1目录下) git branch test_dev1 (创建工作分支) git checkout test_dev1 (进入该工作分支) modify,add,delete git add . (将该目录下进行修改,添加,删除操作后加入暂存库) git commit -m "add a.c file and modify test.c" (提交至本地数据库中) git push ssh://192.168.128.64/pub/scm/test.git test_dev1:refs/heads/branch_dev1 (将本地test_dev1分支上修改的内容push至服务器上的branch_dev1分支上) Dev2: git clone ssh://192.168.128.64/pub/scm/test.git dev2 git branch test_dev2 git checkout test_dev2 modify,add,delete git add . git commit -m "add a.c file and modify test.c" git push ssh://192.168.128.64/pub/scm/test.git test_dev2:refs/heads/branch_dev2 SCM: git clone ssh://192.168.128.64/pub/scm/test.git scm git branch merge_int git checkout merge_int git pull ssh://192.168.128.64/pub/scm/test.git branch_dev1:merge_int (将服务器branch_dev1分支上的内容下载且合并至本地端的merge_int分支上) git pull ssh://192.168.128.64/pub/scm/test.git branch_dev2:merge_int conflict & resolved git add . git commit -m "add dev1 dev2" git push ssh://192.168.128.64/pub/scm/test.git merge_int:refs/heads/dev_main (将本地merge_int分支上的内容push至服务器该项目的dev_main分支上) git tag –a –m "***" tag_name SHA-1 (为指定的变更提交一个tag,参考建立仓库时的操作) git push origin tag_name (将此tag推送至服务器) Dev1: (开发人员在本地端做update的操作) git checkout master git pull ssh://192.168.128.64/pub/scm/test.git dev_main (将dev_main分支上的内容下载且与本地当前分支做merge操作) Git的目录结构 ./git/config是当前仓库的配置信息 ./git/HEAD存放着当前分支(branch)的名字。 ./git/refs/heads/存放了所有分支(branch)的最后一次提交的对象的引用。 ./git/hooks里存放了一堆的hook脚本,如果要启用某个hook,则只需把对应名字后面的.sample给去掉即可 Git之点点滴滴 在应用Git过程中的一些点滴小东西 记录下来,以备查看: 1.git config 配置git的参数变量,它可以带以下2个参数: --system,针对系统的所有用户的,对应的配置文件在/etc/gitconfig --global,针对系统当前用户的,对应的配置文件在~/.gitconfig 不带参数,针对当前git仓库的,对应的配置文件在.git/config 如果在个人pc上使用git,加上参数--global即可 如果在公共服务器上使用git,则一定不要带那2个参数 2.git push origin b3 默认会把本地的b3分支提交到远程的b3分支上,如果本地分支和远程分支名不同,一定要这样 git push origin b3:b1 也即把本地的b3分支提交到远程的b1分支上 转载请注明源自www.SCMLife.com,请保留版权. 本贴地址:http://bbs.scmlife.com/viewthread.php?tid=22571 git diff ORIG_HEAD 比较分支差异 git checkout -b helo master 建立分支 helo git show-branch git show-branch --more=6 master master~2 | head