git仓库初始化
进入项目文件夹,然后右键单击gitbushhere
###将项目上传到服务器上的/srv
目录下。这里以git
的形式为例。scp
使用的是ssh的技术,将代码copy到服务器上去
git init
git remote add origin xxx.git #将地址添加到远程当中,相当于本地代码跟远程仓库进行关联了,但是并没有将工作区的代码推送到本地仓库当中
#以下两条命令就是将代码推送到本地仓库当中
add 只是添加到缓存;commit是提交到本地仓库
git add .
git commit -m ‘first commit’
#将远程仓库中的代码拉下来,
git pull origin master --allow-unrelated-histories
#第一次拉代码需要输入git pull origin master --allow-unrelated-histories
执行这个命令过后需要登录远程仓库的账号,密码
#将代码推送到远程仓库
git status
git add
git commit -m ‘执行操作的简要描述’
git push origin master #然后将代码推到远程仓库
比如一般我们正式环境的代码分支叫做master,然后我们开发环境的分支叫做dev,我dev开发完,并且测试没有bug了,我就可以用merge命令合并到master分支上
#srv文件夹一般用来存放网站
1. 合并冲突步骤:
git stash #本地有改动时,将远程分支代码拉下来,此时会报冲突错误,此时可以将本地改动添加到缓存区域,
git pull origin origin_dev #拉远程分支
git stash pop#跟本地暂存区内代码合并
git add . #然后将本次改动提交到远程
2.rebase合并冲突
git branch -a
*dev_pxc(curent_dev)
deploy
git rebase deploy#将deploy分支合并到dev_pxc分支
git conniute --rebase #继续合并
#直到显示successful完成合并
3.常用操作
###当远程代码与本地不一致(多人协作时)
#代码提交>>>>>>>代码部署流程
#git clone将代码拉下来,一些分支信息也在里面
#git提交本地代码
#git add . =============添加到本地缓存区
#git commit -m”did”=========提交到本地仓库
#git push origin 推送到远程仓库
#git遇到他人代码与你的代码冲突问题
#只提交修改的部分$ git add src/infopub/apis/check_components.py
#先拉下来再push
$ git pull origin deploy
#$ git push origin deploy
#问题
#当远程仓库代码与本地不一样,就会pull不下来,此时选择将本地的改动添加到临时文件夹里
#将本地的一些修改放到临时文件夹里
$ git stash
#将远程代码来下来
#$ git pull origin deploy
#将临时文件夹里的数据合并到当前分支
$ git stash pop
#然后再推送到远程deploy分支----需要add,commit
$ git push origin deploy
#git,执行何合并分支代码之前,要将两个分支上最新代码pull下来,然后再合并,解决冲突
#当前分支b,有分支a,
#git checkout b
#git rebase a=将a分支合并到b分支
执行完git pull --rebase之后如果有合并冲突,使用以下三种方式处理这些冲突:
git rebase --abort 会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢弃;
git rebase --skip 则会将引起冲突的commits丢弃掉(慎用!!);
git rebase --continue 合并冲突,结合"git add 文件"命令一起用与修复冲突,提示开发者,一步一步地有没有解决冲突。(fix conflicts and then run “git rebase --continue”)
#git rebase --continue之后,解决冲突(保存需要留下的代码,一般HEAD之后为需要保留的)
#git add . =====然后继续git rebase –continue
$ git rebase --continue
Successfully rebased and updated refs/heads/dev_pxc.
#git删除分支
git 删除本地分支
删除本地分支
命令行 : $ git branch -d
查看远程分支
git branch -a
删除远程分支
git push origin --delete
#当没有远程分支,此时直接add commit push 将本地代码提交就可以将代码和该分支提交到远程仓库
#git clone之后看不到远程分支
#git fetch
#git branch -a
#git 根据某个分支创建新分支
#git checkout old
#git pull origin old
#git checkout -b new
#将已创建的本地分支,推送到远程
#git push origin new
#git 放弃本地修改
##未使用git add .添加到缓存代码时
git checkout . 也可指定文件路径及文件名
##详见:https://blog.csdn.net/andyzhaojianhui/article/details/80818934
#git 回到历史版本
git log
git checkout commit号取前7位即可。
#将远程master分支最新,拉下来到本地master
git fetch origin master
#关联远程分支,将远程分支关联到本地
#方法一:
git fetch
#然后切换过去
git checkout feature2_dealMysql
#方法二:
git checkout -b [本地分支名] origin/[远程分支名]