新版博客SEO优化基本完成,新老博客内容正在整合中,保证每篇文章高质量。 SiteMap RSS Github
Git 多用户相关操作
嘉美伯爵   2019年9月16日 16:04   运维   Git   78  

多人协作

  • master:此分支用来发布稳定的代码,合并一般是由管理员合并
  • dev:此分支用于团队开发,团队成员向此分支提交代码
  • bug:此分支用于修复紧急bug,修复完成后一般删除

master 分支

当dev完成一个版本的测试后,合并到master

git merge dev

dev 分支

在本地创建dev分支,需要 git push origin dev 同步到远程

git merge dev 不需要进行git add 等操作,它自动完成了

Git默认会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息,一般情况下应该使用 git merge --no-ff -m "merge with no-ff" dev

其他用户加入dev

  • 现在本地创建,报错的原因是未和远程代码关联

  • 合并冲突

  • 提交到dev

bug 分支

当我们在自己的分支开发时,突然接到项目经理的反馈的一个bug,但是此时我们工作区有缓存数据,只需要使用 git stash

相关命令

创建并切换分支

  • git checkout -b dev

切换分支

  • git check dev

查看当前分支

  • git branch

删除分支

  • git branch -d dev

更新项目组文件夹内容

  • git reset --hard

--no-ff git branch -d '' 后,在git log 可以看到信息

  • git merge --no-ff -m "merge with no-ff" dev

git pull

  • git pull = git fetch + git merge origin/master

git config

  • git config --global user.name "username"

  • git config --global user.email "email"

git branch -D <name>

  • 丢弃分支

问题记录

  • error: cannot open .git/FETCH_HEAD: Permission denied
# 未授予权限,在post-receive中产生了一个关联操作,故报错
chown -R git:git /data/wwwroot/deploy/tools/
  • Failed to connect to github.com port 443: Timed out
# 公司内网需设置

# 设置ss
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

# 设置代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080

# 查看是否成功
git config --get http.proxy
172.17.18.80:8080 

# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy