-
git init
把文件夹变成git可管理的仓库
-
git add .
把该目录下的所有文件添加到仓库
-
git status
查看当前状态
-
git commit 提交
git commit -m "注释:我修改 xx"
把项目提交到仓库,-m后面是注释
-
git remote 远程仓库
git remote -v 查看远程仓库信息
git remote add origin https://github.com/zjshd1127/study.git 关联远程仓库
git remote remove origin 删除远程
-
git pull 拉取
git pull
-
git checkout 切换分支
git checkout dev
-
git push 推送远程分支
git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名
git push -u origin master (首次推送远程需要加u指定一个默认主机)
git push origin master
git push origin HEAD:refs/for/develop
git push 默认只推送当前分支
refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要
-
git branch
git branch 查看本地分支
git branch -r 查看远程分支
-
git rebase 合并提交
git rebase -i HEAD~4 合并最近的 4 次提交纪录
git pull --rebase origin master 分支合并
-
git log 查看提交记录
git log
git log -3
$ git log
commit f71a6183adc80065488a84eadfad5d99 (HEAD -> master, origin/master, origin/HEAD)
Author: zyl180314 <zyl1@ac.com>
Date: Fri Jan 11 16:15:12 2019 +0800
commit qwea6183adc80065488a84eedad86c99c6825d99 (HEAD -> master, origin/master, origin/HEAD)
Author: zyl180314 <zyl1@ac.com>
Date: Fri Jan 11 16:15:12 2019 +0800
JIRAID:BMRTM-8293: 服务优化
PeerReviewedBy: 战三
-
git reset 撤销commit
git reset --hard commit_id
-
git cherry-pick 合并某个commit
git cherry-pick eef925cbe940c7b0bfb05203c4d41baa20769cf3
如果出现冲突
1、git status 找到冲突文件,处理好冲突
2、git add .
3、git cherry-pick continue
-
git commit --amend 对之前的commit进行修改
修改完成后:wq保存修改
-
git config
git config --list
git config --system --unset credential.helper
git config --global user.name [username]
git config --global user.email [email]
-
git 批量删除
批量删除远程分支(rel_)
git branch -a | grep -o "rel_.*" | xargs -I {} git push origin :{}
批量删除本地分支(rel_)
git branch -a | grep " rel.*" | xargs git branch -D