1.修改git config,输入自己的名字和邮箱:git config --global user.name "xxx" git config --global user.email "xxx@XXX.com" mac: git config --global core.autocrlf inputwindows: git config --global core.autocrlf true
2.一个功能完整完成并测试以后,首先使用git status查看本地git仓库状态,然后将新添加的文件放入git管理:git add -A/filename,并且从git仓库中删除本地已经删除的文件:git rm filename。3.然后将自己本地的代码都提交:git commit --verbose -a -m '注释',注意:提交代码只是将代码提交到本地git仓库,步骤8才是将修改提交到远程git仓库。4.执行:git fetch origin,下载远程git仓库的所有更新。5.执行:git merge origin/master,将远程git仓库的更新合并到本地。6.然后手工处理本地的冲突文件,并检查merge的文件是否有问题。7.重新按照步骤3提交冲突的文件到本地仓库。8.执行:git push origin master --follow-tags,将merge后的代码和自己修改的代码推送到远程。
git Branch 相关:
结构示例:
master | | |branch1 ---- | ---- developer1 developer2master -- 主分支, 在此分支上发布最新版本developer1, developer2 -- 开发人员分支branch1 -- 可以作为版本备份, 上线版本的bugfix
NOTE: master作为主分支, 需要最少次数的merge代码, 且保证master分支是可以运行的, 而且不该出现测试的文件或代码
流程:0. 查看当前branch: git status1. 查看branch: git branch -a (查看本地) git branch -r (查看远程)2. 创建branch: git branch <branch_name> 3. 切换分支: git checkout <branch_name> 4. 把 branch push 到远程: git push origin <branch_name> 5. 把 branch 和远程关联起来 git branch --set-upstream <branch_name> origin/<branch_name> 6. 开发并提交6.1 假设每个人在自己的分支(以 developer1 为例)6.2 本地修改代码, add, commit. 参考上面第3步6.3 git pull (merge, 一般在自己的branch不会有其他人提交); 如果你需要合并master的更新(比如其他人提交东西到master), 那么接着执行 git merge origin/master6.4 看情况作push 命令: git push (比如每天下班前, 或者一个大点的功能开发测试完成); 和上面第8步不同, 不要加"origin master"; 此时代码push到自己 branch 的远程6.5 如果功能完成, 需要merge到master:* 1) git add => git commit => git pull => git merge master => git add => git commit => git push; 此时自己的本地分支和自己的远程分支都merge到最新;* 2) 切换到master分支 (git checkout master) => git merge developer1 => git add => git commit => git push; 此时本地 master 分支 和 远程master分支都是最新.6.6 如果需要merge其他人的分支 git pull => git merge developer2 => git add => git commit7. 每次产品上线(此时, 新功能都开发完成, 并且已经merge到master, 从master打包)之后, 所有分支都从master merge最新的代码8. 如果线上版本有bug, 或者需要加小版本, 则可以在 branch1 上面开发. 发布小版本后, 将最新代码 merge 到 master.