engineering-management
  • Introduction
  • Git源码管理
    • Git简介及使用场景
    • Windows安装Git
    • Linux安装Git
    • Git命令详解
      • git基本操作命令
      • git远程仓库命令
      • git撤销操作命令
      • git删除本地仓库中所有的.git文件夹
      • git版本回滚命令
      • git分支管理
      • git如何拉取指定分支(远程仓库)代码
      • git合并冲突命令
    • 构建私有仓库
    • 如何利用github/码云进行学习
      • github
      • 码云
    • 详解Git-flow企业级开发流程
  • Maven
    • 概念剖析
    • maven build标签(打入外部jar包、xml配置编译)
    • maven 发布github的release版本
    • maven安装和配置
    • maven命令详解
    • maven仓库
    • 开发常见问题汇总
    • 构建企业级私有仓库Nexus
      • Linux安装Nexus
      • Windows 安装Nexus
    • 大型系统模块化工程管理实践/maven构建多模块项目
    • maven导出项目依赖的jar包
    • maven普通项目转成web项目
    • maven命令创建web项目
    • maven settings配置详解
    • maven scm 用法(SVN 的独有配置)
    • maven修改后的settings.xml文件
    • maven集成Tomcat插件
    • maven集成Tomcat插件(二)
    • maven+tomcat6-maven-plugin 实现热部署及调试
    • maven项目将自研发的依赖包打进Jar文件中
    • maven自定义插件研发
    • maven部署到Tomcat的对应目录如下
    • maven中的MANIFEST.MF文件中的Class-Path中增加当前目录(.)
    • maven如何修改本地仓库与中央仓库
    • maven的<profile>标签,打包不同配置的变量包
    • maven 在idea中依赖包不自动更新问题
  • Sonar代码质量检测平台
    • 常见代码检查工具及规范(PMD、checkStyle)
      • CheckStyle插件安装和使用
    • 构建Sonar环境
    • Sonar+Maven集成代码质量检测工具
    • Sonar代码质量检测报告解析
    • 代码常见质量问题分析
  • Jenkins持续集成
    • DevOps持续集成介绍
    • Jenkins环境构建
      • Jenkins的war包安装
      • Windows安装Jenkins.exe
      • Jenkins关闭和重启
    • Jenkins集成git/svn/tomcat/sonar等
      • Jenkins Tomcat安装设置
      • Jenkins Git安装设置
      • Jenkins Maven安装设置
    • Jenkins插件机制
    • Jenkins自动构建部署maven项目的WEB项目
    • Jenkins部署远程服务器(jenkins+svn+maven)
Powered by GitBook
On this page

Was this helpful?

  1. Git源码管理
  2. Git命令详解

git基本操作命令

PreviousGit命令详解Nextgit远程仓库命令

Last updated 5 years ago

Was this helpful?

参考文档:

菜鸟教程:

官方文档:

廖雪峰git教程:

  • git版本控制命令

1.git config --global user.name "daizhao" 建立用户(在本机git库中建立一个用户命名为daizhao)

2.git config --global user.email "email" 建立邮箱........................................

3.git config --list 查看你的配置信息

4.cd /e/workspace 进入当前的目录

5.ls 查看当前目录下的文件

6.vi ~/.ssh/config vi编辑器(编辑ssh文件)

7.cat ~/.ssh/config 显示当前的SSH配置文件中的信息

TCPKeepAlive yes

ServerAliveInterval=30

Host git(别名)

HostName 219.232.251.2

Port 52010

User git

8.cat ~/.ssh/id_rsa 查看文件

9.cat ~/.ssh/id_rsa.pub 打开文件中取得密匙

10.git clone git@git:/opt/git/jinhonglun-erp.git 连接远程服务器下载项目

11.git add . 添加所有文件的命令

12 git add . 文件名 添加指定文件的命令

13.git status 查看当前版本控制提交的状态

14.git commit -m "注释" 提交文件命令,-m "添加注释"

15.git pull origin master 从服务器当中更新一下操作

16.git push origin master 将本机的版本控制,提交到服务器版本控制

17.git rm -"文件名" 删除一个指定的文件

18.git checkout -b "分支名" 建立一个分支

19.git branch -d "分支名" 删除一个分支(必须切换到master主控制下,才可以删除分支)

20.git checkout "分支名" 变更当前的分支

21.git merge "分支名" 合并分支的代码(必须切换到master主控制下,才可以合并)

22.git 合并冲突时,修改代码之后,需要重新的git add . git commit -m 提交操作

23.linux下的,中止操作命令是:aborted/crtl+c

24.git checkout -tb bugfix origin/v1.0-bugfix 从服务器端v1.0-bugfix,到本地建立bugfix分支,每次提交时,就不需要git pull/push origin bugfix,直接git pull/push 即可

25.git checkout --track "本地分支名" origin/serverfix 跟踪远程端的服务器版本,并且下载到本地

26.git config remote.[remoteName].push [localBranchName]:[remoteBranchName] eg:git config remote.origin.push bugfix2:v1.0-bugfix ,切换push提交远程服务器的版本(切当前项目下仅有一个分支可提交[git pull/push])

27.git remote show origin 显示本地与远程端对应的版本

28.fetch和pull的区别:fetch:仅仅是从远端服务器中,下载下来,并不合并你当前的分支代码;pull:是从远端服务器中,下载下来,合并你当前的分支代码;

29.git remote -v:显示远程端的服务

30.git 建立分支之前,如果在当前版本有没提交的文件,那么建立分支之后,也会显示之前没提交的文件,此时,再次的变换分支到master上,也还会显示,没提交的文件;

如果在新建立的分支中,提交修改的代码,此时,在切换master版本中,不会显示没提交的文件,并且提交的内容不在master版本中体现,master会找到修改之前的代码自动更新;

而新版本提交之后,就显示刚才提交的内容,这点,恰恰是master与分支之间没提交代码时的区别;请加以注意;

注意事项:

  • 每次push之前,都要pull

  • 在分支修改之后,需要添加和commit,才能合并

  • staged状态之前存在四种文件:一个是冲突文件、修改文件、不在版本控制之内的文件、删除文件

  • 提交分支的话,只能在当前的分支下才可以提交分支,如果切换到其他分支或者是主控制分支上,在去提交的话,就会遇到错误;

31.git push origin bugfix4:new_feature 把本地分支的代码提交到远程仓库中,并同时在仓库中建立new_feature分支

32.git branch -r 查看仓库的远程分支

33.git fetch origin new_feature 同步远程分支

34.git branch --track origin/new_feature 将当前的分支跟踪到远程的分支下

35.git push origin bugfix5:new_feature 指定分支,提交指定的仓库

  • 远程仓库相关命令

检出仓库:$ 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]

  • 分支(branch)操作相关命令

查看本地分支:$ git branch

查看远程分支:$ git branch -r

查看所有分支【本地+远程】:$ git branch -a

创建本地分支:$ 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]

  • 版本(tag)操作相关命令

查看版本:$ git tag

创建版本:$ git tag [name]

删除版本:$ git tag -d [name]

查看远程版本:$ git tag -r

创建远程版本(本地版本push到远程):$ git push origin [name]

删除远程版本:$ git push origin :refs/tags/[name]

  • 子模块(submodule)相关操作命令

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

如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs

初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行

更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下

删除子模块:(分4步走哦)

1) $ git rm --cached [path]

2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉

3) 编辑“ .git/config”文件,将子模块的相关配置节点删除掉

4) 手动删除子模块残留的目录

  • 忽略一些文件、文件夹不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如

target

http://www.runoob.com/git/git-basic-operations.html
https://git-scm.com/doc
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000