No.1_Git学习与使用_1

Git介绍

Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。
Git官网:https://git-scm.com/
Git下载:https://git-scm.com/downloads
Git社区:https://git-scm.com/community

Pro Git 官方中文文档地址:https://git-scm.com/book/zh/v2

主要看官网中文文档,非常全面。如下简单目录直通

  1. 起步
    1.1 关于版本控制
    1.2 Git简史
    1.3 Git基础
    1.4 命令行
    1.5 安装Git
    1.6 初次运行Git前的配置
    1.7 获取帮助
    1.8 总结
  2. Git基础
    2.1 获取Git仓库
    2.2 记录每次更新到仓库
    2.3 查看提交历史
    2.4 撤消操作
    2.5 远程仓库的使用
    2.6 打标签
    2.7 Git别名
    2.8 总结
  3. Git分支
    3.1 分支简介
    3.2 分支的新建与合并
    3.3 分支管理
    3.4 分支开发工作流
    3.5 远程分支
    3.6 变基
    3.7 总结
  4. 服务器上的Git
    4.1 协议
    4.2 在服务器上建造Git
    4.3 生成SSH公钥
    4.4 配置服务器
    4.5 Git守护进程
    4.6 智能HTTP
    4.7 GitWeb
    4.8亚 搏体育app
    4.9 第三方托管的选择
    4.10 总结
  5. 分布式Git
    5.1 分布式工作流程
    5.2 向一个项目贡献
    5.3 维护项目
    5.4 总结
  6. GitHub
    6.1 账户的创建和配置
    6.2 对项目做出贡献
    6.3 维护项目
    6.4 管理组织
    6.5 脚本GitHub
    6.6 结论
  7. Git工具
    7.1 选择修订版本
    7.2 临时暂存
    7.3 储藏与清理
    7.4 签署工作
    7.5 搜索
    7.6 重写历史
    7.7 重置揭密
    7.8 高级合并
    7.9 重新
    7.10 使用Git调试
    7.11 子模块
    7.12 打包
    7.13 替换
    7.14 凭证存储
    7.15 结论
  8. 自定义Git
    8.1 配置Git
    8.2 Git属性
    8.3 Git钩子
    8.4 使用强制策略的一个例子
    8.5 结论
  9. Git与其他系统
    9.1 作为客户端的Git
    9.2 迁移到Git
    9.3 结论
  10. Git内部原理
    10.1 脆弱的命令和高层命令
    10.2 Git对象
    10.3 Git引用
    10.4 包文件
    10.5 引用规格
    10.6 传输协议
    10.7 维护与数据恢复
    10.8 环境变量
    10.9 总结
    A1。附录A:其他环境中的Git
    A1.1 图形界面
    A1.2 Visual Studio中的Git
    A1.3 Eclipse中的Git
    A1.4 Bash中的Git
    A1.5 Zsh中的Git
    A1.6 Powershell中的Git
    A1.7 结论
    A2。附录B:将Git嵌入您的应用
    A2.1 命令行Git方式
    A2.2 Libgit2
    A2.3 JGit
    A3。附录C:Git命令
    A3.1 设置与配置
    A3.2 获取与创建项目
    A3.3 快照基础
    A3.4 分支与合并
    A3.5 项目分享与更新
    A3.6 检查与比较
    A3.7 调试
    A3.8 补丁
    A3.9 邮件
    A3.10 外部系统
    A3.11 管理
    A3.12 非常命令

Git学习

下载与安装

官网下载后直接执行,选项全部默认即可。参考文档:Win10安装Git并配置

设置身份

如果想要使用必须设置用户名称和邮箱,标明提交人身份
执行如下两个命令设置:
$ git config --global user.name "username"
$ git config --global user.email "email@gmail.com"

初始化目录

想要git管理一个目录,只需要cmd到当前目录,使用命令 git init 即可生成一个 .git
文件夹。所有 提交股那里的版本都会存在当前.git目录中。
$ git init
Initialized empty Git repository in C:/Users/bellus/Desktop/dev/.git/

正常开发项目

正常在项目目录下增删改文件和子文件夹

管理文件

有改变的文件需要管理实用git add 
$ git add .

bellus@DESKTOP-MFQ1VD7 MINGW64 ~/Desktop/dev (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   test.txt

提交到本地仓库

将管理的文件提交到本地仓库
$ git commit -m 'first commit'
[master (root-commit) 18e0781] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

bellus@DESKTOP-MFQ1VD7 MINGW64 ~/Desktop/dev (master)
$ git status
On branch master
nothing to commit, working tree clean

常用Git命令

HEAD指向

HEAD ->分支->commitid

Git init

  • git init 初始化当前所在目录被git关联管理,会生成.git隐藏文件夹

git add

  • git add a.txt 提交一个本地文件a.txt到暂存区
  • git add . 提交当前目录下所有文件到暂存区

git log

git log 查询提交日志
git reflog 查询所有操作日志(包含提交日志)
git log --pretty=oneline 简化日志一行展示一个版本

git commit

git commit -m “first commit” 将暂存区提交到 提交区 产生commitid

git status

git status 查看当前本地工作区 文件状态

git reset

git reset –hard HEAD^ 回退到当前版本的上一个版本
git reset –hard HEAD^^ 回退到当前版本的上上个版本
git reset –hard commitid 指定回退到commitid的版本

git checkout

git checkout – a.txt 暂存区覆盖本地工作空间,取消本地修改内容
git checkout -b ‘dev’ 生成一个新分支dev
git checkout ‘master‘ 切换分支

git branch

git brantch 查看所有分支,当前所在分支 *标
git branch -d dev 在当前dev分支,删除dev分支,为合并提示删除失败
git branch -D dev 强制删除分支,忽略为合并提示直接删除

git remote

git remote add origin git@github.com:NNN/test.git // 添加 本地项目与 远程仓库关联关系

git push

git push -u origin master 本地当前分支提交到远程仓库

图片理解

git本地存储理解

在这里插入图片描述

连接远程仓库

git pull --rebase origin master 拉取github代码合并到本地
git remote add origin git@github.com:NNN/test.git // 添加 origin主机 和对应的 git仓库地址
git push -u origin master 提交

FAQ

ERROR: Repository not found.

$ git push origin master
ERROR: Repository not found.
fatal: Could not read from remote repository.

原因:远程仓库没有创建当前关联的仓库项目,github上创建一个即可。

error: failed to push some refs to …

$ git push origin master
To github.com:lushunde/GUITranster.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:lushunde/GUITranster.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

原因:是本地仓库和线上仓库最新代码不一致(常见情况github中readme.md在本地确实)
解决:git pull 一下线上仓库的最新代码合并,然后git push即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值