git & repo 命令集合

  • 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 protected]"  
本地代码关联远程仓库
  • 如果是第一次初始化到本地:
    cd workspaceDir && git clone https://[email protected]
  • 如果已经有关联git:
    git remote add origin https://[email protected]
    git remote set-url origin https://[email protected] 
    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://[email protected]
    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 --
远程仓库
  • 查看远程仓库: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 :假设我们有个稳定版本分支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/
  • 撤销删除: git reset HEAD <已删除的文件名> && git checkout <已删除的文件名>

你可能感兴趣的:(git & repo 命令集合)