git 的基本使用

Posted jasonchenYT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 的基本使用相关的知识,希望对你有一定的参考价值。

  • 学习系列,git基本命令记录,开始之前,看下git的工作原理图:
  • 基础命令
    git init  # 创建本地仓库
    git status #查看信息
    git add 文件名(*)  #将代码提交至暂存区
    git commit -m \'备注信息\' #将代码提交到本地仓库
    git diff 文件名 #对比文件信息
    git log (--pretty=oneline) #查看git日志
    git log --graph --pretty=oneline --abbrev-commit #查看详细日志

    git reset --hard HEAD^ #回退到上一个版本
    git reflog #查看版本号
    git reset --hard 版本号 #回退到指定版本号

    git checkout -- 文件名 #将文件在工作区所做的操作撤销
    git rm 文件名 #将文件删除 相当于git add -A 把所有发送变化的文件提交到暂存区;git commit两步操作
    rm -rf 文件名 #强制删除(手工删除) 撤销直接使用git checkout -- 文件名
    git mv 旧文件名  新文件名  linux/mac 使用git mv  win使用git ren

    git commit --amend -m "增加信息"    # 修改最后一次提交内容
    git branch #查看当前分支情况
    git branch 分支名 #新建一个分支
    git checkout 分支名 #切换到指定分支操作 (指针切换)
    git checkout -b 新增分支名  # 新增分支并切换到新分支上
    git merge 分支名 #将分支内容合并到主分支
    git branch -d 分支名 #删除指定分支

    git tag  # 查看标签
    git tag v1.2  #设置标签
    git show   #  显示标签。
    git tag -a 标签名 -m “标签注释信息”  # 添加标签并带有注释信息
    git tag -a 标签名 -m “标签注释信息”  版本号  # 添加
    git cheakout 标签名 :切换到指定标签,此时不位于任何分支,处于游离状态,可以考虑在此标签创建一个分支,脱离游离状态可以checkout 分支名即可
    git tag -d #删除标签名
    git clean -n #查看没有被跟踪文件
    git clean -f #删除没有被跟踪的文件

    git remote add origin https://github.com/demo.git  # 添加远程仓库,名称为origin(默认)
    git push -u origin master  # 把master分支推送到origin仓库(原仓库)
    git clone 远程仓库git地址 # 克隆远程仓库到本地
    fork /拷贝对方的仓库到自己仓库,修改/增加完成后提交到自己的仓库,推送给对方的仓库使用pull request 进行推送,对方同一后可合并到对方仓库


  • 恢复删除在暂存区的文件
    1.git reset HEAD 文件名 #恢复暂存区
    2.git checkout -- 文件名 #恢复工作区
    3.git rm -r --cached 文件名  删除新增到暂存区的文件,再手工删除文件rm -rf +文件名

  • 当主分支与其他分支更新冲突时
    可以手动解决 将不需要的部分删除或者全部保留,解决后 执行 git add 再执行 git commit -m ""
    解决删除分支后还存在历史信息 git merge --no-ff -m \'注释\' 分支名

  • 多人协作产生冲突
    方式一:
    1、使用gitpull命令把最新的提交拉取下来
    2、如果拉取失败一般原因是没有指定本地子分支与远程origin/子分支的链接:可使用该命令gitbranch--set-upstream-to=origin/远程子分支本地子分支
    3、此时pull虽然成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的解决冲突完全一样
    4、解决完成之后,使用git push提交
    方式二:
    使用命令gitpush-f 强制提交,该方式会导致远程仓库之前的修改被覆盖,同时提交日志也会被覆盖。

  • 常用的操作
    git blame filename #查看谁更改了file中的内容、修改时间
    设定git不跟踪文件:在工作目前创建一个名为.gitignore的文件,用于过滤数据,便于非需要管理的文件进行过滤,文件内容如下:
    /new/ #过滤整个文件夹
    *.txt #过滤所有.zip文件
    /new/test.c #过滤某个具体文件
    .DS_Store #Mac用来存储文件夹信息的文件
    npm-debug.log * #npm报错信息文件
    git clean:从工作目录中删除没有被git跟踪过的文件,它包含如下参数:
    -n提示哪些文件会被删除
    -f删除当前目录下所有没有跟踪过的文件.它不会删除
    .gitignore文件里面指定的文件夹和文件
    -f删除指定目录下所有没有跟踪过的文件
    -df删除当前目录下所有没有跟踪过的文件和文件夹
    -xf删除当前目录下所有没有跟踪过的文件,包含.gitignore文件中设置的文件

git基本使用和基本命令

首先git是什么?git是github上的一个代码托管工具,是一款代码版本管理工具,github上的代码是基于git来进行托管的。github是全球的开源社区。可以在里面搞很多事情。只要会搞事情的话。
git基本命令:

  1. git init 表示初始化一个Git仓库。
  2. git status 表示查看当前仓库的状态,是否还有内容没有提交,或者其他的一些信息,这个命令比较常用。
  3. git add filename 表示将文件添加到暂存区。
  4. git commit filename 表示将文件提交到仓库。
  5. git log 表示查看提交记录。
  6. git branch 表示查看分支情况,git 默认是在master分支上的。
  7. git branch branchname 表示创建分支。
  8. git checkout branchname 表示切换到指定分支上。
  9. git checkout -b branchname 表示创建分支和切换到指定分支。
  10. git merge 表示合并分支到master,在执行这个操作的时候,要先切换到master分支,然后执行git merge branchname。
  11. git branch -d branchname 表示删除分支,有时候分支还没有合并,但是确定不要了,可以强制删除分支,git branch -D branchname。
  12. git tag 版本名 表示创建一个标签,也就是版本信息,要切换到某个标签,可以使用 git checkout 标签名,直接使用git tag表示查看仓库的标签信息。

以上是关于git 的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

git的基本使用

Git命令基本使用

Git基本使用

Git学习系列-Git基本概念

git的基本使用

一篇搞定Git基本使用