Git基础

官网: https://git-scm.com/

源码: https://github.com/git/git/

Git特点

最优的存储能力

非凡的性能

开源的

很容易做备份

支持离线操作

很容易定制工作流程

Git安装

https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

$ git --version

配置user信息

$ git config --global user.name 'your name'

$ git config --global user.email 'your email'

config作用域(缺省等同于local)

$ git config --local  只对某个仓库有效

$ git config --global 对当前用户所有仓库有效

$ git config --system 对系统所有登陆的用户有效

显示config的配置,加--list

$ git config --list --local

$ git config --list --global

$ git config --list --system

如果同时设置了global local用户信息,git将会采用local级别的设置

建Git仓库

1、把已有的项目代码纳入Git管理

$ cd 项目代码所在的文件夹

$ git init

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

$ cd 某个文件夹

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

$ cd your_project

3、克隆远端的仓库

$ git clone [url]

工作区和暂存区

工作目录的代码通过 git add 会到暂存区,暂存区的代码通过 git commit 会到版本历史

文件四种状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

基础命令

git add -u 所有修改文件一起提交到暂存区

git add 添加文件到暂存区

git add .   当前目录所有文件添加到暂存区

git commit -am 'commit'   工作区的修改直接提交到历史版本控制

git rm 删除一个文件

git status 查看文件状态

git reset --hard  清空工作区和暂存区的变更

git mv filenamea  filenameb ->git commit   文件重命名

git log --oneline   查看提交日志

git log -n4 --oneline  最近四次的演进历史

git log --oneline --all -n4    所有分支最近四个commit

git log --oneline --all -n4  --graph

git help --web log  浏览器方式查看log的帮助文档

gitk  --all 图形化界面查看版本历史

git checkout -b brancha branchb  基于b分支创建a分支,并切换到a分支

git branch -av  查看所有分支

git diff commita  commitb   比较两次commit的差异

git diff  HEAD HEAD^1   比较head和head父亲commit的变更差异   HEAD^^等同于HEAD~2指代head的父亲的父亲

git branch -d branchname  删除不需要的分支,还有commit没有merge的时候会报错, -D  强制删

git commit --amend  修改最近一次提交的message做变更

git rebase -i 需要变更的commit的上一个commit号    修改旧的commit的message

 

reference:https://www.cnblogs.com/best/p/7474442.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值