目录
git基本命令
拉取远程分支,(更新分支操作)
git fetch
查看分支
git branch -r
查看当前状态
git status
强制推送到远程(慎用)
git push -f origin master
注释: origin远程仓库名,master分支名,-f为force,意为:强行、强制。
强制切换到另一个分支
git checkout -f branch_a
强制切换到branch_a分支
删除远程分支
git push origin --delete branch_a
删除本地分支
git branch -d branch_a
本地新建项目推送到远程
远程创建项目,本地新建项目推送到远程
git init
git add README.md
git commit -m "first commit"
git remote add origin http://xxx.com/xxx/xxx.git
git push -u origin master
创建分支并推送到远程
基于本地当前分支(old_branch)
git status
git checkout -b new_branch
git push
//提交代码失败可以根据提示执行下面命令
git push --set-upstream origin new_branch
基于远程分支创建新的分支
git status
git checkout -b new_branch origin/old_branch
git push
//提交代码失败可以根据提示执行下面命令
git push --set-upstream origin new_branch
要注意中间的空格
提交代码
提交代码前先拉取代码,有冲突解决冲突,然后再提交
git pull
git status
git add .(注意.之前有空格)
git commit -m “修改项目代码”
git push
合并分支
git status
git checkout branch_a
git merge origin/branch_b (只是将远程的branch_b合并到本地的branch_a)
git push(必须执行下面命令才能合并在git上,否则只是在本地)
(此处有冲突解决冲突,并将代码提交到自己的分支上)
更改远程分支名
git branch -m old_branch new_branch
git push origin :old_branch
git push --set-upstream origin new_branch
注意命令中间的空格
创建tag
查看所有tag
git tag
创建tag并推送到远程
//创建轻量标签
git tag tag_xxx_v1.0
//将tag推送到远程
git push origin tag_xxx_v1.0
删除tag
删除远程的tag(需要两步走,先删除本地在push到远程)
1、git tag -d tag_xxx_v1.0
2、git push origin :refs/tags/tag_xxx_v1.0
其他
创建附注标签
git tag -a tag_xxx_v1.0 -m “标签描述”
生成本地的构建分析报告命令:
gradlew compileDebug --debug
git 批量删除本地分支
进入项目,比如想删除所有的本地feature分支,执行如下命令即可:
git branch -a | grep "^ feature*" | xargs git branch -D
git 批量删除远程分支
进入项目,比如想删除开头是dev的release分支,执行以下命令即可:
git branch -a | grep -o "release/dev.*" | xargs -I {} git push origin :{}
常见问题
1:误将代码提交到缓存中(利用 git add 命令误将代码提交的缓存中)
解决办法:利用 git reset 命令将撤回缓存中的代码。
2:误将代码提交到本地仓库(利用 git commit 命令误将代码提交到本地仓库)
解决办法:
git reset —hard + 版本号
彻底回退到某个版本,本地的代码也会改变上一个版本内容。