摘要:git是目前世界上最先进的分布式版本控制系统。

多人协作

开发老人笔记:Git 常用命令清单_dev

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

MASTER 分支




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


DEV 分支

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

开发老人笔记:Git 常用命令清单_dev_02

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

开发老人笔记:Git 常用命令清单_master_03

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

开发老人笔记:Git 常用命令清单_dev_04

其他用户加入DEV

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

开发老人笔记:Git 常用命令清单_master_05

  • 合并冲突

开发老人笔记:Git 常用命令清单_代码_06

  • 提交到dev

开发老人笔记:Git 常用命令清单_dev_07

BUG 分支

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

开发老人笔记:Git 常用命令清单_master_08

相关命令

创建并切换分支

  • 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>

  • 丢弃分支

git rm -r --cached

  • gitignore考虑不全面,发现有不该提交的文件已经提交后,用该命令

问题记录

  • error: cannot open .git/FETCH_HEAD: Permission denied




# 未授予权限,在post-receive中产生了一个关联操作,故报错
chown -R git:git /data/wwwroot/deploy/tools/





# 公司内网需设置

# 设置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