1. 近程仓库相干命令

  • 检出仓库:$ git clone git://github.com/jquery/jquery.git
  • 查看近程仓库:$ 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]

2. 分支(branch)操作相干命令

  • 查看本地分支:$ git branch
  • 查看近程分支:$ git branch -r
  • 创立本地分支:$ git branch [name] ----留神新分支创立后不会主动切换为以后分支
  • 切换分支:$ git checkout [name]
  • 创立新分支并立刻切换到新分支:$ git checkout -b [name]
  • 删除分支:$ git branch -d [name] ---- -d选项只能删除曾经参加了合并的分支,对于未有合并的分支是无奈删除的。如果想强制删除一个分支,能够应用-D选项
  • 合并分支:$ git merge [name] ----将名称为[name]的分支与以后分支合并
  • 创立近程分支(本地分支push到近程):$ git push origin [name]
  • 删除近程分支:$ git push origin :heads/[name]

2.1 分支操作场景

基于master创立了一个branch-demo分支,将作了批改的branch-demo分支提交到近程的master分支。

  1. 应用$ git push origin master提交,然而显示的后果却是'Everything up-to-date'。
  2. 产生问题的起因是$ git push origin master 并没有track近程分支到本地分支中,因而默认提交的是master分支。
  3. 因为master分支默认指向了origin master分支,这里要应用$ git push origin branch-demo:master,就能够把branch-demo推送到近程的master分支了。

本地的某个分支test提交到近程仓库,并作为近程仓库的master分支,或者作为另外一个名叫test的分支,那么能够这么做。

  1. 提交本地test分支作为近程的master分支: $ git push origin test:master
  2. 提交本地test分支作为近程的test分支: $ git push origin test:test

如何想删除近程的分支?

  1. 右边的分支为空,那么将删除:左边的近程的分支。
  2. $ git push origin :test 刚提交到近程的test将被删除,然而本地的还是会存在的。

3. 版本(tag)操作相干命令

  • 查看版本:$ git tag
  • 创立版本:$ git tag [name]
  • 删除版本:$ git tag -d [name]
  • 查看近程版本:$ git tag -r
  • 创立近程版本(本地版本push到近程):$ git push origin [name]
  • 删除近程版本:$ git push origin :refs/tags/[name]

4. 子模块(submodule)相干操作命令

  • 增加子模块:$ git submodule add [url] [path]

如:$ git submodule add git://github.com/guoye/demo.git src/main/webapp/demo

  • 初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行
  • 更新子模块:$ git submodule update ----每次更新或切换分支后都须要运行一下
  • 删除子模块:(分4步走哦)
  1. $ git rm --cached [path]
  2. 编辑“.gitmodules”文件,将子模块的相干配置节点删除掉
  3. 编辑“.git/config”文件,将子模块的相干配置节点删除掉
  4. 手动删除子模块残留的目录

5. 疏忽文件、文件夹 不跟踪

批改根目当下的文件.gitignore,一行一个关键字,如下例

# compiled output/dist/tmp/out-tsc# dependencies/node_modules# System Files.DS_StoreThumbs.db

6. 罕用Git软件工具

我应用过,感觉良好的Git可视化工具,按罕用次数倒序

  • sourceTree
  • GitHub Desktop
  • tortoiseGit