创建本地分支 git branch 分支名
创建分支并切换到该分支 git checkout 分支名
本地分支关联远程分支 git push --set-upstream origin 分支名
删除本地分支 git branch -d 分支名
删除远程分支 git push origin --delete 分支名 切换到远程分支 git checkout -b 本地分支名 origin/远程分支名
克隆指定分支代码 git clone -b 分支名 地址
工作流 git add
git add ./添加所有文件
git add 文件名 添加指定文件名
将工作区文件放到暂存区
git commit
将暂存区文件放到本地仓库
git push
将本地仓库文件推到远程仓库
创建mr
git stash
将暂存区和工作区文件保存,切换分支后,修改内容不会带到其他分支
也可以用和解决文件冲突
git stash list :查看stash了哪些存储
git stash show 查看第一个存储修改内容
git stash apply stash@{1} 应用第几个存储
git stash pop stash@{$1} 应用并删除第几个存储
git stash drop stash@{$1} 删除第几个存储
合并代码 切换到目标合并分支branch1 git checkout branch1 保险起见先拉一下branch1上的代码 git pull origin branch1 将需要被合并的分支branch2合入到目标分支branch1 git merge branch2 推到远程 git push
撤销上一次commit 没有push git reset --hard <commit_id> 回退到当前版本,当前版本所有的内容都会被取消,需要git push -f强推上去 已经push git revert <commmit_id> 取消一个版本内容,生成一个新的版本 git commit ,git push
撤销add git status 先看一下add 中的文件 git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销
强制将远程上代码覆盖本地: git fetch --all
git reset --hard origin/master 删除工作空间改动代码
git reset --soft origin/master 不删除工作空间改动代码
git pull
冲突解决 报错cannot do a partial commit during a merge. 撤销冲突文件修改,再commit(备份修改,防止丢失修改文件) 拉代码,修改冲突文件,再commit
查看提交日志
git log 查看所有提交日志
git log -p 或 --patch 查看所有提交日志并查看详细修改内容
git log --stat 查看总结性信息
git log -p filename 查看单个文件的提交记录
gerrit环境提交代码方法1:(如果不合并多个提交,会保留所有提交记录)
-
一般情况下,我们从主分支拉分支进行开发代码。 -
代码开发完成(可以合并多次提交git reabase -i), -
再拉主分支代码(git pull origin master --rebase) -
如果有冲突,解决冲突后(git add . git commit),推送到远程仓库(git push),此处可能会出现,无法push到远程仓库,需要手动删除远程仓库分支,重新推上去。
gerrit环境提交代码方法2:(该方法会导致最终只有一个提交记录)
-
一般情况下,我们从主分支拉分支进行开发代码。 -
回退到自己提交刚开始拉去分支的节点(git reset --soft 不要--hard,否则代码就没有了)。 -
保存自己修改的代码(git stash) -
再拉主分支代码(git pull origin master --rebase) -
弹出保存的代码(git pop),解决冲突。 -
解决冲突后(git add . git commit),推送到远程仓库(git push),此处可能会出现,无法push到远程仓库,需要手动删除远程仓库分支,重新推上去。