版本控制工具git

整理git中一些常用的操作和工作中遇到的一些问题

常用操作整理

  • 远程新建分支:git push origin custonBranch
    • 可以直接在远程仓库手动建立,然后通过下面的第三条关联到本地分支
    • 也可以在本地新建分支,然后推送到远程,如若要在远程新建,那么远程肯定没有该分支
  • 远程删除分支:git push origin :wantedDeleteBranch
    • 等同于git push origin --delete wantedDeleteBranch
  • 想关联本地某一分支到远程分支方法有两种
    • 基于依赖分支新建分支然后再关联远程分支:git branch --set-upstream-to origin/xxx
    • fetch origin xx,再git checkout -b newBranch origin/xxx
  • 删除untracked files:
    • git clean -nf(n参数可以看到要删除的文件)
    • git clean -nfd(连同文件的目录也删除)
  • 反合其他分支到当前分支:
    • git pull origin remoteBra:currentBra
    • git merge
  • 远程代码回滚
  • 克隆仓库指定分支:git clone -b
  • 将本地内容推送到远程仓库:
    • 在远程建立一个库
    • cd到已有的本地目录下
    • git init
    • git remote add origin https://github.com/xxx/xxx.git
    • git push -u origin master

问题整理

远程代码回滚之后可能遇到一些问题

1
2
3
4
$ git pull
From ssh://git@github.com:kotilic/kotilic.github.io.git
+ 343a837...e59a0d1 hotfix_20170720_mytest -> origin/hotfix_20170720_mytest (forced update)
Already up-to-date.

如果此时在dev分支开发,feature1分支和远程保持一致最新,然后此时有人把feature1回滚了几个HEAD,当我们再切到feature1的时候,使用git pull的时候,将不能使本地和远程一致。(提示信息如上)如果是机器部署,此时代码将不能得到回退。若想保持本地代码和远程代码一致,需要通过git reset --hard origin/master