-
REPO丢弃所有修改
repo forall -vc "git reset --hard"
-
REPO更新到指定分支
repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r32 && repo sync
-
Android-Studio配置git token
在https://git主机地址.com/settings/tokens 页面生成Personal access tokens,记得勾选 repo 和 gist。保存好生成的token。
打开android-studio,setting→Version Control→github,添加一个账户:主机名:git主机地址
token:上一步生成的token
选择VCS菜单,依次点击Gits→Remotes... 编辑仓库地址,在"https://"后加入token和“@”符号
git 全局配置
查看配置: git config -l
git config --global http.proxy http://xx.xx.x.xx:1080
git config --global https.proxy https://127.0.0.1:1080
git config --global --unset xxxxxx
git config --global user.name "name"
git config --global user.email "email@email.com"
本地代码关联远程仓库
- 如果是第一次初始化到本地:
cd workspaceDir && git clone https://token@xxx.git
- 如果已经有关联git:
git remote add origin https://token@xxx.git git remote set-url origin https://token@xxx.git git branch master //创建master分支 git checkout master //切换到master分支:必需步骤,否则会出现error: src refspec master does not match any.错误 git pull origin master --allow-unrelated-histories // 从remote拉取 //进入GNU nano编辑区,如需退出ctrl+x 保存退出 git push -u origin --all //更新remote git push origin --tags
- 如果没有关联git :
cd existing-project git init git add --all git commit -m “first commit” git remote add origin https://token@xxx.git git push -u origin master
分支
- 查看本地分支:
git branch
- 查看远程分支:
git branch -r
- 切换分支:
git checkout -b【branchName】
,-b 意思是以当前分支为base - 删除分支:
git branch -d 【branchName】
-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项 - 创建本地分支: git branch 【branchName】 注意新分支创建后不会自动切换为当前分支
- 创建远程分支(本地分支push到远程):
git push origin 【localBranchName:remoteBranchName】
- 删除远程分支:
git push origin --delete【branchName】
或者git push origin:heads/【branchName】
- 合并分支:
git merge [name]
----将名称为[name]的分支与当前分支合并 - 切换到远程分支:
git checkout -b 新分支名称 origin/远程分支名称
提交
- 撤销提交:
git reset --soft HEAD^
,^代表回退一步,也可以写成HEAD1,如果你进行了n次commit,想都撤回,可以使用HEADn - 本地A分支,提交到远程B分支:
git push origin A:B
。studio下快捷键 Ctrl + Shift + K,菜单位置,vcs -- git -- push - 对于未提交的修改需要revert 命令是:
git checkout -- <filename>
远程仓库
- 查看远程仓库:
git remote -v
- 添加远程仓库:
git remote add [name] [url]
- 删除远程仓库:
git remote rm [name]
- 修改远程仓库:
git remote set-url --push[name] [newUrl]
- 拉取远程仓库:
git pull [remoteName] [localBranchName]
- 推送远程仓库:
git push [remoteName] [localBranchName]
- 取消本地关联的远程库:
git remote remove origin
暂存(stash,与sheff功能相同但不相通)
- 新增一个暂存列表:
git stash
- 查看所有暂存列表:
git stash list
- 应用一个暂存但是不删除:
git stash apply [-index] [stash_id]
- 应用一个暂存并从列表内删除:
git stash pop [-index] [stash_id]
- 清理所有暂存列表:
git stash clear
- 清理第N个暂存列表:
git stash drop N
其它常用命令
-
git cherry-pick <commit id>
:假设我们有个稳定版本分支master,另外还有个develop分支,通过cherry-pick可以把一个develop中的功能推送到master中,,其实也就是对已经存在的commit 进行再次提交。也可以在Android Studio 下方version control 窗口,选择log,选中想要使用的commit,右键选择cherry-pick。 - 看git状态:
git status
- 查看提交记录:
git log
- 删除远程标签:
git push origin :refs/tags/<tagname>
- 撤销删除:
git reset HEAD <已删除的文件名> && git checkout <已删除的文件名>
网友评论