git的基本使用

  • 配置用户名:
git config --global user.name ""
  • 配置邮箱地址:
git config --global user.email 
  • 查看配置:
git config --list

这里,git config是对git做相应的设置,后面跟的 --global
是对全局的设置。也就是说本台计算机所发出的所有提交信息在没有额外指定的情况下全部以这个设置为准。如果某一个项目不想以该设置进行提交的话,可以在项目内部执行git
config 然后使用不加 --global 的配置语句进行配置。其实,除了global,还有local和system两个选项 git
config --local:(缺省选项)只针对某一个仓库有效 git config --global:对当前用户的所有仓库有效 git
config --sytem:对系统所有登录的用户有效 同样,查看配置也有对应的三种方式
git config --list --local
git config --list --global
git config --list --system
其中,local的优先级是最高的,也就是说如果你同时设置了global参数和local参数且两者不相同,则git会优先使用local指令设置的参数。

git中文文档
参考博主轻舞飞扬SR

  • 创建一个仓库:
git init
Initialized empty Git repository in D:/file/.git/

我们有时候还会遇到这么一种情况,就是我们要使用已有的代码文件来建立仓库,这样的话,我们可以直接进入到项目的文件夹,然后使用 git init 即可建立仓库

  • 查看所有改动:
git status
  • 添加文件到暂缓区:
git add filename
//如果我们是想将当前所有untracked files都放置到暂存区的话,我们可以使用下面的命令
git add .
//更新git暂存区的内容
 git add -u 
  • 撤回已经add的文件:
git rm --cached filename
//系统提示 rm 'filename' 文件已从暂存区撤离
rm 'filename'

我们直接用 git add . 的这种形式添加文件,难免有时候会误添加了一些我们不想添加的文件,这时候除了上面的 rm --cached 这种方式,其实也可以使用 git reset HEAD 撤回上一次add的所有内容。或者git reset HEAD filename.c 像这样在HEAD后面指定文件名,就是只撤销部分add的文件。

  • 存入仓库:
//执行commit命令即通知警卫室将暂存区的货物存入仓库,并登记造册
//-m 备注
git commit filename -m "备注"
//一次性全部提交
git commit . -m "备注"
//除了用点来表示所有的文件以外,还可以使用 -a 参数来表示将当前未提交的文件全部提交
git commit -a -m "备注"
  • 查看记录:
git log --stat
//如果想在这里看到文件中所有的变动,
//即源代码是怎么更改的,是增加了还是删除了,可以使用
git log -p
  • 将工作区恢复到最近的一个commit状态(会将本地的操作全部清空复原)
git reset --hard

Git四大区域:
在这里插入图片描述

Workspace区域
工作区,就是我们平时存放项目代码的地方,我们的代码工作也是在这里进行

index / Stage区域
暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository区域
仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote区域
远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

git的工作流程一般是这样的:
1.在工作目录中添加、修改文件;
2.将需要进行版本管理的文件add到暂存区域;
3.将暂存区域的文件commit到git仓库;
4.本地的修改push到远程仓库,如果失败则执行第5步
5.git pull将远程仓库的修改拉取到本地,如果有冲突需要修改冲突。回到第三步

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

Git文件四种状态
在这里插入图片描述

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

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

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

Staged:
暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态。

  • 退出vim界面:
:wq
  • 提交追加到同一个commit里:
git commit --amend
  • 使用git cmmit模板来规范提交
//首先,我们打开~/.gitconfig文件(Linux环境下),
//如果是Windows环境下则默认是用户目录下,一般配置了用户名和邮件的,这个文件会自动生成。
//在这个文件中添加以下内容
[commit]
              template=~/.gitmessage
//然后在此处指定的目录下创建.gitmessage文件(注意文件名的第一个字符是个点),
//例如,我们可以创建这样的模板
# head: <type>(<scope>): <subject>
# - type: feat, fix, docs, style, refactor, test, chore
# - scope: can be empty (eg. if the change is a global or difficult to assign to a single component)
# - subject: start with verb (such as 'change'), 50-character line
#
# body: 72-character wrapped. This should answer:
# * Why was this change necessary?
# * How does it address the problem?
# * Are there any side effects?
#
# footer: 
# - Include a link to the ticket, if any.
# - BREAKING CHANGE
#
  • 压缩提交历史:
//-i 参数表示 interactive,即与用户进行交互
//从start的commit开始(不包含start的commit)到end结束,
//这之间的所有commit汇聚成一条commit
git rebase -i [start] [end]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值