Git工作流程以及常用命令

笔者工作流程篇

step 1
配置好自己的 Git 基本信息和 GitHub 的 ssh 免密登录。

首先在 GitHub 上创建一个远程仓库,空的内容。

获取到该空仓库的 ssh 访问地址。

step 2

# 本地创建空文件夹,作为本地仓库。

# 进入空文件夹,初始化 Git 仓库
cd your_dir
git init

# 创建 README.md 文件,并编辑内容
touch README.md
vim README.md

step 3

# 查看本地仓库文件状态,工作区文件
git status

# 文件提交到暂缓区
git add filename

# 查看文件状态
git status

# 文件提交到本地 Git 仓库
git commit -m "提交说明"

step 4

# 为该本地仓库设置一个远程仓库
# 注意使用 ssh协议 连接的仓库地址,
# 而不用 http 或者https 协议地址,这样可能不能免密登录
git remote add origin github或者gitee仓库地址

# 查看该本地仓库的远程仓库信息
git remote -v

# 将本地 Git 仓库推送(备份)到远程仓库中
git push -u origin master

# 如果不是第一个提交,即远程仓库不是空的,命令如下
git push origin master

step 5
github 或者 gitee 远程仓库即可查看到备份的内容

笔者喜欢先备份到 github ,然后同步更新到 gitee。

简介篇

Git学习笔记

版本管理的演变(VCS之前)

  • 集中式VCS:服务端版本库,SVN
  • 分布式VCS:客户端和服务端都有版本库,Git

Git特点:

  • 最优存储能力

  • 非凡的性能

  • 开源的

  • 容易备份

  • 支持离线操作

  • 容易制定工作流程

  • 学习流程:Git——>GitHub——>GitLab

安装Git
官网
国内镜像网站

查看安装的Git版本:git --version

注:CHCP是一个计算机指令,能够显示或设置活动代码页编号。
代码页 描述
65001 UTF-8代码页
950 繁体中文
936 简体中文默认的GBK
437 MS-DOS 美国英语
CHCP是MD DOS中的命令,用来显示或设置活动代码页编号的。
用法是:CHCP [nnn] 其中nnn指定的是代码页的编号。

常见命令篇

配置 user 信息:user.name 和 user.email

$ git config --global user.name "your_name"
$ git config --global user.name "your_email@domain.com"

# 注释:
# --global 对当前用户所有仓库有效
# --local  只对某个仓库有效(缺省配置)
# --system 对系统所有登录的用户有效
		  
# 显示当前Git config的配置,加 --list
# $ git config --list --local
# $ git config --list --global
# $ git config --list --system

建立 Git 仓库
1、将已有的项目代码纳入Git管理

$ cd 项目代码所在文件夹
$ git init

2、新建的项目直接使用Git管理

$ cd 某个文件夹
$ git init your_project    #会在当前路径下创建和项目名称同名的文件夹
$ cd your_project

$ git add new_file        #添加Git管理文件
$ git status              #查看Git当前工作的状态
$ git commit -m"Add a new file"    #Git提交文件

往仓库里面添加文件(2次提交)
1、工作目录提交到暂存区

$ git add files

2、暂存区提交到版本历史

$ git commit -m"提交说明"

3、查看Git历史日志

$ git log

4、提交所有被Git跟踪的文件

$ git add -u

5、更改Git仓库里面文件的文件名

$ git mv 原文件名 新文件名
$ git status
$ git commit -m"move a file"

6、查看版本历史

$ git log --online    #简易版查看历史
$ git log -n4 --online    #查看4条记录
$ git branch -v    #查看当前项目版本分支
$ git branch -av    #查看所有项目版本分支,当前工作的分支有标明*
$ git log --all    #查看所有项目版本历史
$ git log     #查看当前分支项目版本历史
$ git log --online --all --graph     #以图形化查看项目版本历史
$ git help log    #查看log帮助信息

7、gitk——图形化的界面查看Git版本历史信息

8、切换工作分支,在项目路径下

$ git checkout master    #master需要切换到的分支
$ git cat-file -t 对象的哈希值    #查看哈希值对应的对象,Git对象有:tree、commit、blob等等	
$ git cat-file -p 对象的哈希值    #查看哈希值对应的对象的具体信息内容,也就是那个文件或文件夹

Git对象彼此之间关系
1、commit——>tree——>blob
2、每一个对象都有自己的哈希值索引
3、blob的内容就是可见的文件内容代码
4、文件提交到暂存区就会有对象产生(哈希值索引)

分离头指针(You are in ‘detached HEAD’ status),
在分离头指针后注意与相应分支进行挂钩(绑定,band),否则会被Git清除。
HEAD头指针与Branch分支的关系

删除不需要的分支

$ git branch -av    #查看Git仓库分支
$ git branch -d branch_name    #删除Git仓库分支
$ git branch -D branch_name    #强制删除仓库分支

修改最近一次commit的提交信息message

$ git log -1    #查看最近一个commit信息日志
$ git commit --amend    #打开最近一次commit提交信息message
# 3、修改打开的文件message    #修改文件内容并保持即更改完成

删除Git仓库文件

$ git rm file_name   #删除Git仓库的文件,并不是工作区的文件

紧急处理情况

$ git stach    #保存当前的工作区文件,处理完紧急事件后再回来
$ git stach list    #查看stach保存的工作
$ git stach apply    #回来工作区,当时保存镜像还在	
$ git stach pop    #回来工作区,当时保存镜像销毁	

如何指定不需要Git版本控制的文件
1、比如IDE自动产生的一些文件或者文件夹,git_ignore_file or directory
2、vi .gitignore #添加忽略文件或者文件夹
3、在GitHub上有对应编程语言的gitignore文件配置

Git备份
1、传输协议:本地文件协议、HTTP/HTTPS网络协议、SSH安全协议。
file:// http://或者https:// user@git-sercice:
2、哑协议和智能协议:区别在于智能协议显示传输进度是可见的,而哑协议不可见。智能协议传输速度要快。
3、push and fetch:push就是上传到仓库(包括远程仓库GitHub),fetch就是下载到本地。
4、KaTeX parse error: Expected 'EOF', got '#' at position 18: …t remote -v #̲查看仓库 5、git remote add github_repository

GitHub代码托管平台
0、GitHub官网:https://github.com/
1、GitHub高级搜索:https://github.com/search/advanced/
2、制作简易个人博客:blog in:readme stars:>5000
3、GitHub帮助页面:https://help.github.com/en

Gitee 国内码云
0、Gitee官网:https://gitee.com/

GitLab仓库管理系统
1、GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,
并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。
2、GitLab官网:https://about.gitlab.com/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值