初次 使用时 需要配置下git
Git 全局设置用户名和邮箱:
git config --global user.name “xxxx”
git config --global user.email “xxxxx@xx.com”
查看用户名和邮箱
git config user.name
git config user.email
查看用户列表
git config --list
接下来就是初始化本地仓库
git init—初始仓库
git add .—提交所有
git commit -m “first commit”—提交备注
git remote add origin git@xxxxxx–添加远程仓库地址
git push -u origin master —推送到主分支
下次推送时
git add .—提交所有
git commit -m “first commit”—提交备注
git pull origin master----拉下最新的(不执行可能会遇到代码冲突问题)
git push origin master–推到主分支
假设已有线上版本,此时需要更新功能等需求,最好的处理方式是,创建一个dev分支,在dev分支上
继续开发,测试,完成后再合并到主分支,推送
git branch -a --首先查看本地分支
假设没有分支
git branch dev --创建一个dev分支(不放心可以再次查看一次 git branch -a )
git checkout dev–切换到dev 分支上 (这时会看到路径后面的括号里显示的 dev)
接下来的操作,就和正常一样了
git add . //提交所有内容
git commit -m “提交到分支”
git push -u origin 分支名 (同理后续推送最好pull下)
当测试完毕,准备合并到主分支时
(主分支先 git add. 和git commit下)
git checkout master --切换到主分支(假设在dev上)
git pull origin master 建议pull 下
git merge dev --把dev分支合并
git status --查看下状态(可以看到你有几次提交需要push到主分支去)
git push origin master–推到主分支
如果不需要分支了,可以删除
git branch -d 分支名
git branch —查看当前分支
当在主分支与dev分支切换时,要确保当前分支上的内容已经被提交或者保存
git status —建议先执行这步,看是否有还未提交的(有时候明明提交成功了,但是还是提示有未提交的,此时就在pull下 再次提交)
当再次查看 git status显示没有需要提交的,就可以切换分支了
git checkout 分支名
当主分支有更新时,dev同样需要更新(将主分支更新内容------更新到dev)
A------情况a,在主分支上
假设在主分支上,更改了—(可以先推一次)
git pull ------拉到本地
B-----情况b,在dev上
git commit -m “fix bug”-----把dev的改动 推到暂存区
开始更新到dev
1.git checkout dev-------切换到dev分支
2.git merge master ------合并master到dev
此时一般会提示有冲突,如下
Auto-merging xxx.js
CONFLICT (content): Merge conflict in xxx.js
Automatic merge failed; fix conflicts and then commit the result.
大概意思就是合并失败,提示在xxx.js*文件处有冲突,此时可以 git status看下,会告诉你在哪个文件下有冲突,还可以 cat xxx.js看的更详细 如下
var newTest='0000'
console.log(newTest)
<<<<<<< HEAD
console.log('改动了')
console.log('分支上改动了')
=======
console.log('主分支改了,789---000,需要更新到分支')
>>>>>>> master
这试就手动解决下发生冲突的地方,建议使用vscode,他会提示什么传入的更改…,方便你改
3.冲突解决完后,就添加修改的文件
git add xxx.js
4.将新添加的文件提交上去
git commit -m “解决了冲突,牛逼”
5.将本地分支的代码push到远程仓库对应的分支上
git push origin dev
此时就把master分支更新的内容更新到 dev分支了
当我们在某个分支上开发功能时,这时候需要切换到其他分支修改bug,而我们目前分支上的功能还没有开发完,不想提交,但是又必须切换分支,此时我们可以将目前的代码在git上进行保存(非提交)当切回到这个分支时,再更新保存的,继续开发—流程如下
1.git add . -----现将目前的代码推到暂存
2.git stash -----将目前的保存,不提交
Saved working directory and index state xxxxx(成功之后提示)
3.此时就可以切换分支工作了
4.当需要回到之前分支继续开发时,先切回分支
5.git stash pop-----就恢复了–(并且会看到下面有文件,绿色的。。。。)