zoukankan      html  css  js  c++  java
  • git使用详解、基础命令

    Git 使用教程

    安装

    下载地址 http://git-scm.com/downloads

    官方文档 https://git-scm.com/book/zh/v2

    命令文档 https://git-scm.com/docs

    概念

    • Workspace:工作区
    • Index / Stage:暂存区
    • Repository:仓库区(或本地仓库)
    • Remote:远程仓库

    暂存区

    .git目录下的index文件, 暂存区会记录git add添加文件的相关信息(文件名、大小、timestamp...),不保存文件实体, 通过id指向每个文件实体。可以使用git status查看暂存区的状态。暂存区标记了你当前工作区中,哪些内容是被git管理的。 当你完成某个需求或功能后需要提交到远程仓库,那么第一步就是通过git add先提交到暂存区,被git管理。

    本地仓库

    保存了对象被提交 过的各个版本,比起工作区和暂存区的内容,它要更旧一些。 git commit后同步index的目录树到本地仓库,方便从下一步通过git push同步本地仓库与远程仓库的同步。

    基础命令

    初始化

    git init [dir] 该命令将创建一个名为 .git 的(隐藏)子目录

    例: cd code/; git init 或者 git init code

    添加文件到暂存区

    git add <filename>/<dir>

    例: 添加当前目录下所有文件git add . 添加指定文件git add README.md

    提交文件到本地仓库

    git commit -m '说明'

    例:git commit -m '2019-04-18初始化项目'

    添加远程仓库

    git remote add <shortname> <url>

    例:git remote add origin https://github.com/xxx/xxxx.git

    推送到远程仓库

    git push -u <shortname>/<url> <分支>

    例:git push -u origin master

    克隆远程仓库到本地

    git clone <url>

    例: git clone https://github.com/apache/flink.git

    检查当前文件状态

    git status

    当输出一下内容时:
    On branch master
    nothing to commit, working directory clean
    这说明你现在的工作目录相当干净。所有已跟踪文件在上次提交后都未被更改过
    当前目录下没有出现任何处于未跟踪状态的新文件,否则 Git 会在这里列出来
    该命令还显示了当前所在分支,并告诉你这个分支同远程服务器上对应的分支没有偏离

    查看用户名&邮箱

    git config user.name

    git config user.email

    修改用户名密码

    git config --global user.name "Your Name"

    执行后,push时重新输一次密码即可

    修改和提交 分支与标签 
    git status 查看状态 git branch 显示本地所有分支
    git diff 查看变更内容 git checkout <branch/tag> 切换到指定分支或标签
    git add . 跟踪当前目录改动过的文件 git branch <new-branch> 创建新分支
    git add <file> 跟踪指定文件 git branch -d <branch> 删除本地分支
    git mv <old> <new> 重命名 git tag 列出本地所有标签
    git rm <file> 删除文件 git tag <tag-name> 基于最新提交创建标签
    git rm -r --cached . 停止跟踪文件并删除 git tag -d <tag-name> 删除标签
    git commit -m "message" 提交更新过的文件 git merge <branch> 合并分支到当前分支
    git commit --amend 修改最后一次提交 git rebase <branch> 衍合指定分支到当前分支
    查看历史&撤销 远程操作 
    git log 查看提交历史 git remote -v 查看原创版本库信息
    git log -p <file> 查看指定文件提交历史 git remote show <remote> 查看指定远程版本库
    git blame <file> 列出指定文件提交历史 git remote add <remote> <url> 添加远程版本库
    git reset -hard HEAD 撤销未提交的修改内容 git fetch <remote> 从远程库获取代码
    git checkout HEAD <file> 撤销指定文件未提交的修改内容 git pull <remote> <branch> 下载代码及快速合并
    git revert <commit> 撤销指定的提交 git push <remote> <branch> 上传代码及快速合并

    取消commit git reset --soft Head

     个人微信,有什么建议、意见或补充,欢迎及时沟通!!!(添加时注明“博客园”,谢谢)
  • 相关阅读:
    mysql workbench 建表时PK, NN, UQ, BIN, UN, ZF, AI
    Asan检测内存读越界
    C 实现 C++ 的面向对象特性(封装、继承、多态)
    VIBE算法
    Go 大坑 nil
    求二叉树中节点的最大距离
    计算[1,N]范围内含有7的数字的个数
    一组便于创建线程和线程池的简单封装函数
    用C#执行doc命令
    可以自由停靠的窗体!
  • 原文地址:https://www.cnblogs.com/pidgey/p/11697051.html
Copyright © 2011-2022 走看看