Git 命令和界面操作对照表
操作 | 命令 | 解释 |
---|---|---|
git status | 查看修改的文件 | |
添加修改的文件到暂存区 | git add 文件名 | 添加修改的文件到暂存区 |
提交 | git commit -m "message" | 将在暂存区记录提交到本地分支 |
推送 | git push origin 分支名 | 推送到远端分支 |
git branch -a | 查看分支 包括远端和本地分支 | |
检出 | git checkout -b 分支名 | 检出分支 |
合并 | git merge 分支名 | 将分支合并到当前分支 |
重置 | git checkout --文件名 | 放弃对这个文件的所有修改 |
拉取 | git pull 分支名 | 拉取远端修改并自动合并到当前分支 |
抓取 | git fetch 分支名 | 抓取远端修改 |
贮藏 | git stash | 将所有修改暂存起来 |
git stash list | 获取暂存列表 | |
应用贮藏 | git stash pop或者git stash apply 暂存index | 将暂存应用到当前分支 |
多人合作流程
- 尽量避免出现多人修改同一个文件,分配任务时,尽量把任务独立,减少冲突。
- 先拉取远端然后和在本地合并,解决完冲突运行没有错误后,推送到远端。
- 提交的时候请详细写出修改了那个类,做了什么事情,方便以后查找问题。
- 每个人的所有开发工作都只在自己的分支开发,每添加一个新需求,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。
- 每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
- master分支是主分支,因此要时刻与远程同步;
- dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
- bug分支只用于在本地修复bug,就没必要推到远程
-
feature分支是否推到远程,取决于你是否和别人合作在上面开发。
git-br-policy
所有人都要从dev切出自己的分支,修改完毕经测试没问题再合并到dev分支,不要修改master分支,最终等dev分支经测试没问题再由组长确认合并到master分支。
解决冲突
<<<<<<< HEAD
my code
=======
other code
>>>>>>> feature1
如果不确定保留或者删除可以和修改这段代码的人商量,看是否保留或者删除别人的代码,要确保操作正确
忽略文件
写入忽略文件的文件,不会被版本追踪
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
网友评论