1 代码管理
Git不多说,大家都知道这是一个分布式版本控制系统,对开发者而言,可以敏捷高效的进行代码管理及开发,也非常适合多人协作。话不多说,下面就来点干货。
1.1 创建新仓库
我们在工作区(就是自己的电脑里)创建一个新的文件夹,这个文件夹用来存放远端同步过来的代码库。进入到这个新建的文件夹,执行创建新的仓库的命令:
$ git init
补充:
差点忘记介绍一下git维护的“树”(3棵):
- 工作区: 也就是我们的电脑里的实际文件所在位置,即为工作目录;
- 暂存区:Index,暂存的意思就是临时保存我们的改动,类似于缓存;
- 版本库:HEAD,这是git的版本库,指向我们最后一次提交的结果。
1.2 克隆仓库(拷贝项目)
$ git clone
举例:gerrit仓库:
git clone "ssh://[email protected]:123456xx/Project1/Project1.1"
我们也可以使用git clone
命令将仓库拷贝到指定的local_dir
目录中。
2 代码提交流程
2.1 远程拉取最新仓库内容
$ git pull
2.2 查看分支
查看本地分支
$ git branch
查看远端分支
$ git branch -a
2.3 切换分支
$ git checkout -b local_branch_name origin/remote_branch_name
其中local_branch_name
是本地分支的取名;remote_branch_name
是远端分支的名称;
2.4 开发代码
在这个分支上进行代码的开发或者修改;
2.5 代码新增
逐个添加
$ git add file_name
其中file_name
为需要提交的代码路径名;
一次性添加
我们也可以一次性全部提交
$ git add -A
2.6 代码提交
基于模板提交
$ git commit
会跳转到之前编辑好的git提交模板,进行模板信息编写并保存;
基于命令行的提交信息
$ git commit -m "code infomation"
其中"code infomation
替换为本次提交代码的信息;
2.7 代码拉取合并
一般在代码推送前,我们最好进行一次拉取操作
$ git pull --rebase
这个操作主要是避免,在我们修改代码的同时,其他开发者也在修改代码并提交合并到了同一个分支,此时远端仓库和本地工作目录的基线不一致。如果有冲突,我们就手动去解决这些冲突。
2.8 代码推送
$ git push origin HEAD:refs/for/remote_branch_name" 其中,
remote_branch_name`是远端分支的名称;
3 其他常用命令
在使用git时,我们也会使用一些辅助性的命令进行检查或者进行代码管理。
3.1 查看状态
$ git status
3.2 查看日志
$ git log
或者
$ git reflog
4 代码冲突
一般都是在提交代码前没有进行git pull
拉取最新代码引起的,当然,当自己的代码开发完毕后,再次拉取最新代码也有可能和本地代码也冲突。这个时候需要我们去解决这些冲突。
方案一:我们可以通过上述的git pull --rebase
去解决冲突,然后重新git add
和git commit
,最后git push
。
方案二:我们可以通过git log
查看commit-id,找到最近一次提交,然后在通过git reset --soft commit-id
跳转到倒数第二次提交的位置,进行代码更改。