使用git进行代码管理时,虽现有的开发工具对git的集成程度都比较高,但是会使用git命令行,在很多时候也能派上用场,况且技多不压身。以下是目前作为git项目开发者必备的命令。
1. 拉取项目
开发一个项目,首先需要拉取该项目在本地,再切到本地开发分支上,命令为:
git clone [项目url] //clone项目到本地
git checkout -b [local_branch] [remote branch] //拉取远程分支作为本地分支
git branch -a //查看该项目的所有分支
git checkout [branch] //切换分支
2. 提交代码
开发需要将代码提交到远程分支,过程分为三步:首先将代码添加到暂存区,再提交到本地仓库(本地分支),最后推到远程分支上。提交代码涉及的相关指令如下:
git status //查看本地文件状态,标红的文件按是没有再暂存区的,标绿的是在暂存区的。
git add [文件] //添加文件到暂存区
git add . //添加所有文件到暂存区
git commit -m "提交信息" //将暂存区的文件提交到本地仓库
git push [remote] //将本地仓库更改提交到远程仓库
3. 代码合并
合并分支是将一个分支的代码合并到另一个分支上,通常分为三步:将一个分支拉到本地,再拉取远程分支,合并本地分支到远程分支上,最后提交代码;(还有其他本地合本地皆可,本地取一种情况说明),该流程涉及指令如下:
git clone [项目url] //clone项目到本地
git checkout -b [local_branch A] [remote branch A] //拉取远程分支作为本地分支
git fetch origin //更新分支
git checkout [remote branch B] //拉取远程分支B
git merge [remote branch A] //合并本地分支A到远程分支B
git status //查看本地变化
git add . //添加到暂存区
git commit -m "commit message" //合并完后,提交到本地仓库
git push [remote B] //合并完后将代码提交到远程分支上
4. 解决冲突
通常多人协作的任务,提交代码或者合并分支时,都会有冲突发生,解决冲突时为了保留其他人的代码和自己的代码,需要本地慎重解决,在合并代码解决冲突后,有时代码提交的指令发生了变化,需使用以下指令将本地仓库的代码提交到远程分支上,以下为流程指令:
git commit -m "commit message" //合并完后提交,上面流程复用2、3的
git push origin HEAD:[branch-name] //提交后推到远程分支,此时需要加HEDAD:
5. 代码回退
代码回退包含两种情况,一是回退代码到某一版本,某一版本以后的代码都不保存,二是只回退某一版本代码,对齐它版本代码不影响。对于多人协作开发任务,更推荐使用第二种方法回退代码。回退代码流程同样分为三步:首先查看日志,确定要回退的代码版本,再回退到该版本,最后提交代码,现对该两种方法流程都给出指令说明:
1)回退到某一版本
git log //查看HEAD日志
git reset --hard [目标版本号] //目标版本号为HEAD编号,一般输前几位就可
git push -f //将代码强制推送到远程仓库中
2)回退某一版本代码
git log //查看HEAD日志
git revert [要回退的版本号] //回退该版本代码并生成新的版本号
git status //查看本地变化的文件,是回退那个版本变化的文件,将其改回来了
git add . //提交问价难道暂存区
git commit -m "" //提交代码到本地仓库
git push //上传到远程分支
6 本地新建项目
新建项目详见:本地新建项目
以上6个操作涉及的指令基本能涵盖工作上能遇到的绝大多数命令,此外还有git其他指令此处未包含的,若后续发现很常用,再进行补充。