git 常用命令

总结一下经常用到的git命令,持续更新。

  • 创建远程仓库git remote add [remote name] [url]

git push

  • 推送到远程git push <远程主机名> <本地分支名>:<远程分支名>

如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。如果当前分支和远程分支存在追踪关系则可以直接git push origin

  • 删除远程分支
1
2
3
git push origin :[远程分支名] // 省略本地分支名相当于推送了个空的分支到远程所以是删除
// 等同于
git push origin --delete [远程分支名]
  • 如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push
1
git push -u origin master

git pull

  • git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。
1
git pull <远程主机名> <远程分支名>:<本地分支名>

比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。

1
git pull origin next:master

如果是合并到当前分支则可以省略冒号后面。

1
git pull origin next

如果当前分支和远程分支存在追踪关系则可以:

1
git pull origin

如果当前分支只有一个追踪分支则可以:

1
git pull

当远程删除了分支需要自动删除本地分支的时候则可以:

1
git pull -p

分支

  • 创建分支git branch [branch name]
  • 删除分支git branch -d [branch name]
  • 创建并切换分支git checkout -b [branch name] [current branch]
  • 切换分支git checkout [branch name]
  • 手动追踪分支git branch --set-upstream [本地分支] [origin/远程分支]

tag

  • 新建taggit tag -a [tag name]
  • 拉取taggit pull origin --tags
  • 推送taggit push --tags
  • 删除taggit tag -d [name]
  • 删除远程taggit push --delete origin tagname