前言:git是一个代码版本的管理程序,可以创建分支,多人协同工作,自己的分支完成了功能/修改了bug;就可以合并到主分支(或者其他次主分支)
次主分支:这个是我自己的叫法,出现的原因:有时候一个项目由一开始的一个主分支master,因为不同的客户需求(它开始有自己独特的地方),开始并发出两个,三个或者更多个次主分支,同时进行这么多次主分支(每个客户自己的版本)是有些困难的,有时候就会忘记把一个新功能同时同步给某个客户;这里就看怎么把握这个平衡的点了;
由我目前的开发经验来说,还是不要出现3个以上次主分支的好,我们新建一个git仓库给他单独开发
真实开发中的使用(我就主要说windows系统了)
-
第一步:建立本地(准确说当前电脑)的git账号:这个账号既可以和github的账号关联,也可以和国内的码云的账号关联;这里就不讲了
git config --global user.name "你自己的喜欢的名字"
git config user.name
,查看你刚刚创建的用户名git config --global user.email "一个可以使用的邮箱"
git config user.email
,查看你刚刚创建的邮箱(这样你本地的git账号的用户名和邮箱就有了)
-
第二步:创建本地的代码分支,用于工作
-
第一种情况:你们公司的远程仓库已经新建了一个项目仓库,你是新来的员工/重装里电脑/反正就是你的电脑现在没有这个项目;那么你需要这样做:
-
git clone 远程仓库的master网址
,注意在你想要工作的文件下打开gitbash,并执行此操作 -
cd 文件夹名称
进入你本地刚刚拉取的项目文件夹下,再次打开gitbash,会看到此时是 *master:表示当前是主分支 -
git checkout -b 分支名称
创建本地的一个工作分支(一般不在主分支上开发),分支命名规则:dev_名称缩写_模块
,注意查看网站里其他人员的分支,不要命名重复 -
git branch
,查看当前分支,带有*号的是当前分支,再上一个命令结束后,应该就已经切换到你新建的分支上了 -
git checkout 分支名称
,这个是切换分支命令,可以切着玩,不过工作的时候一定要在自己的分支上 -
git push -u origin 你创建的分支名字
,在远程仓库上创建一个你自己的分支,名字最好和你本地相同;这样是为了你可以先把自己的代码提交到你自己的远程分支,先不合并到主分支,由项目组长检查一下
此时讲解一下你本地有了:master主分支的代码,和一个空的自己的分支;远程也有一个master和一个你的远程分支;所以需要你将本地空分支拉取一份master主分支代码
-
git pull origin master
,再在本地分支上拉去一遍远程仓库主分支master的代码,以后就在本地分支工作了 -
第二种情况:一般就是自己的项目了,你突发奇想自己写了点项目,现在想把它放在github或者码云上,那你就先在github/码云上新建一个项目(空的),然后把本地和它关联上就行了,使用这个命令:
git push -u origin 项目名
;二者好像可以不一样,要不要一样随你
-
-
第三步:关于提交代码,注意这些操作是在你本地的个人分支为前提的
-
git pull origin master
,提交前先拉去一下主分支上的代码,以避免可能的冲突(另外,如果你是新写的一个模块,没有人写你这部分的代码,而且你也没有修改其他地方的代码,那么可以不拉取主分支),冲突一般要在本地处理好 -
git status
,查看本地做了那些修改,红色的都是你本地修改或者添加的内容 -
git add 上面的文件路径
,添加文件进暂存区(这个想了解自己查,这里就不解释了),记得一个一个添加,不要提交的修改千万不要提交上去,因为我目前也没改过从暂存区把添加错的文件踢出来,可能有点麻烦 -
git status
,添加完成后,在使用这个命令检查一下,这个命令经常使用,有事没事都可以检查一下 -
git reset HEAD 文件路径
,这个命令可以撤销未提交(commit之前)的暂存区的里添加错误的文件 -
git commit -m "你想写的一些提交注释说明"
,还是强调当前是在本地个人分支上操作的,这时就把暂存区的内容提交到分支上了 -
git push origin 你远程分支的名字
,然后提交 合并申请/由组长看一下
-
补充:git checkout /app/xxxx/ad/dfa.php,放弃本次修改