博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git命令的详细使用
阅读量:3946 次
发布时间:2019-05-24

本文共 2973 字,大约阅读时间需要 9 分钟。

在这里插入图片描述

1,安装好Git

后注册一个gitee,gitlab或github的账号

2,设置用户名称和email地址。

这是非常重要的,应为每次Git提交都会使用该用户的信息。但需要注意的是这里的用户名称名称和email地址与我们远程仓库的用户名和地址是没有关系的,这里的信息不是用作认证的,主要是标识的作用。

# 配置用户名git config --global user.name "username"    # 配置邮箱git config --global user.email "username@email.com"# 查看配置信息git config --listgit config user.name

以上的配置信息保存在~/.gitconfig文件中

3 ,获取git仓库

  1. 在本地初始化一个git仓库

    打开git bush here 进入你需要操作的文件夹内,使用一下命令初始化. 之后会发现目录下出现一个.git文件夹。同时该文件夹出现也说明了本地的git仓库创建成功了。需要注意的事.git文件夹是隐藏的需要设置显示隐藏文件夹。

    git init
  2. 从远程克隆一个仓库

    从远程仓库拿到仓库地址后执行一下命令,进入需要放置的文件夹内

    git clone 远程仓库地址

4,工作目录,暂存区以及版本库的概念

​ 版本库:.git文件夹就是版本库,版本库配置了很多配置信息,日志信息和文件版本信息等

​ 工作目录(工作区):包括.git文件夹的目录就是公作目录,日志信息和文件版本信息等

​ 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区也可以叫做stage,暂存区是一个临时保存文件修改的地方

在这里插入图片描述

5 , git目录文件下的两种状态:

  • ​ untracked未跟踪(没有被纳入版本控制)
  • ​ tracked 已跟踪(被纳入版本控制)

6,本地仓库操作

#查看文件的状态git status#查看文件信息简洁git status -s#将一个未跟踪的状态变成已暂存的状态 加入到暂存区git add 文件名#将一个已暂存的文件变成未跟踪状态git reset 文件名 #将暂存区的文件修改提交到本地仓库 -m后面的是日志信息 不使用-m参数也是可以的 但使用-m参数更方便git commit -m "update 某文件"#删除本地文件 默认把删除的操作加入到了暂存区git rm 文件名#将文件加入到忽略列表 在工作目录创建一个名为.gitignore文件(固定)#创建文件 (这里的是linux命令,Git 模拟的是Linux的环境) touch .gitignore#查看日志git log

注意要想提交一个文件必须先将它加到暂存区

7, 远程仓库的操作

  1. 查看远程仓库,执行以下命令后会列出指定的每一个远程服务器的简写,如果已经克隆了远程仓库,那么至少应该能够看到origin,这是Git仓库的仓库服务器默认名字。注意: 只要仓库是克隆来的默认配置了一个远程仓库

    git remote (-v)#更详细的git remote show origin
  2. 添加远程仓库 同时制定一个可以应用的简写 注意:一个本地仓库可以添加多个远程仓库

    git remote add 
  3. 从远程仓库克隆

git clone url
  1. 移除无效的远程仓库 (移除的是本地与远程的关联关系,并不会真正的影响原地的仓库)
git remote rm 
  1. 从远程仓库抓取与拉取
git pull #从远程抓取最新的文件到本地,并合并git fetch #抓取文件 抓取的文件在.git/object下以二进制的形式,在.git 文件所在的目录下没有文件增加(抓取的文件没有合并)git merge origin/master #把用git fetch的文件合并到工作目录下
  1. 推送到远程仓库
git push [remote-name][branch-name]

例如git push origin master 使用前需要与远程仓库添加关联,输入该命令回车会弹出Windows 安全中心窗口需要你登入远程仓库(输入账号与密码),推送成功后远程仓库就能看到性推送的文件了

8,Git分支

几乎所有的版本控制器都支持分支

  1. 查看所有本地分支 需要注意的是分支分为本地分支以及远程分支

    git branch
  2. 查看远程分支

git branch -r
  1. 查看所有的分支(远程和本地)
git branch -a
  1. 创建本地分支

    git branch 
  2. 合并本地分支

    git merge 

    合并分支会遇到的问题:

    ​ 有时候合并分支并不会如此的顺利。如果你需要在不同的分支中对同一段代码进行了不同的修改,Git就没有办法合并他们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突的内容,最后执行git add 命令来标识冲突已经解决

  3. 将新添加的文件推送到远程的分支

git push origin 
  1. 删除本地分支
git branch -d 

注意:如果需要删除的分支进行了一些开发的动作,此时执行上面的删除命令并不能删除分支,如果坚持要删除此分支,可以将上面的-d改成-D (强制删除),但不建议这样做因为存在一定的风险。并且也需要注意不能删除此刻所处的分支。

  1. 删除远程仓库分支
git push origin -d 

9,Git标签

像其他的版本控制系统一样,git可以给历史的某一个提交打上标签,以表示重要。比较有代表性的是人们会用这个功能来标记发布节点(v1.0,v1.2等)。标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记的状态。

  1. 创建一个新的标签

    git tag [tagName]
  2. 查看tag信息

git show [tagName]
  1. 将标签推送到远程仓库
git push [remote][tagName]

eg : git push origin v1.0

  1. 检出标签(用于版本发布)
  • 新建一个分支,指向tag

    git checkout -b [branch-name] [tag-name]

    注意:此处版本号应该从v1.0开始(此处可能不同的版本情况可能会不一样)

    $ git checkout -b dev12 v0.1fatal: 'v0.1' is not a commit and a branch 'dev12' cannot be created from it#############################$ git checkout -b dev1 v2.0fatal: 'v2.0' is not a commit and a branch 'dev1' cannot be created from it############################$ git checkout -b dev1 v1.0Switched to a new branch 'dev1'
  1. 删除本地标签

    git tag -d [tag-name]
  2. 删除远程标签

git push origin:refs/tags/[tag-name]

最后来个测试:在这里插入图片描述

转载地址:http://qzewi.baihongyu.com/

你可能感兴趣的文章
git 与 svn 的主要区别!
查看>>
iOS-截屏,从相册选择图片,制作磨砂效果图片
查看>>
iOS-截取字符串中两个指定字符串中间的字符串
查看>>
数据库-数据库操作(使用FMDB)
查看>>
swift-计算型属性和存储型属性的区别
查看>>
FMDB介绍以及在 swift 中的数据库操作
查看>>
iOS运行时机制(附Demo演练)
查看>>
iOS-利用运行时给分类添加属性
查看>>
整理的最新WebSHell (php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话)
查看>>
2016年11月整理的最新php免杀一句话木马, 2017php免杀一句话(php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话,php过waf一句话)
查看>>
坑:ADO连数据库服务器地址要加端口号
查看>>
宽字符串输出问题
查看>>
将整数转换为宽字符串
查看>>
在类中定义enum实现整数常量功能
查看>>
VS2008下编译MFC报平台版本低解决办法
查看>>
VS2008中新增对话框的初始化函数是虚函数,需要时重写
查看>>
如何在遍历中使用list的删除函数
查看>>
wstring需要显示初始化
查看>>
vs2008下CString和wstring间的转换
查看>>
suse11通过安装最新内核可以上网的经验
查看>>