Git的一些常用命令

Git 的结构和状态

3层结构:
  • 工作区(working directory)
  • 暂存区(stage)
  • 版本库(Repository)

关系如图:工作区是在电脑里能看到的目录,工作区有一个隐藏目录.git,这就是 Git 的版本库。把文件往版本库里添加的时候,将需要提交的文件修改通通放到暂存区,然后提交。(图源于廖雪峰Git教程
Git结构图

4种状态:

  • untracked       未被追踪
  • modified         工作区修改了某个文件但是还没有添加到暂存区
  • staged            把工作区修改的文件添加到了暂存区但是没有提交到版本
  • committed      数据被安全的存储在本地库中

基本命令

登录

      git config --global user.name “your name”
      git config --global user.email “your email”

初始化 git 仓库:

      git init      // 会在工作区添加一个隐形的 .git 文件夹

查看目录

      ls -a

添加到暂存区
  • 将文件添加到暂存区: git add filename
  • 将工作目录下的所有修改的文件添加到暂存区: git add .
提交
  • 将暂存区内的文件提交到版本库:git commit -m '备注信息'
  • 跳过 git add 添加到暂存区命令 直接将工作区所有已跟踪的文件提交(未跟踪untracked的文件不能使用此命令):
    git commit –am '备注信息'
查看版本

      git log

查看项目文件状态

      git status

撤销操作
  • 撤销上一次提交 并将暂存区的文件重新提交
    git commit –amend
  • 拉去暂存区的文件并将其替换工作区的文件
    git checkout –filename
  • 拉去最近一次提交的版本库中的这个文件到暂存区,该操作不影响工作区
    git reset HEAD filename
文件删除
  • 删除工作区及暂存区中的该文件相当于删除文件后执行
    git rm filename
  • 在不小心将不需要追踪的文件添加到暂存区,想删除暂存的文件但是不想删除工作区的文件很有用
    git add git rm –cached filename
  • 当工作区或者暂存区文件修改了(防止将修改误删除了)
    git rm -f filename
改名

         git mv oldname newname

Git分支

  • 查看分支 git branch
  • 创建分支 git branch branchname
  • 修改分支名称 git branch –m oldname newname
  • 切换分支 git checkout -b branchname
  • 创建+切换分支git checkout -b branchname
  • 删除分支 git branch –D branchname
  • 合并指定分支到当前分支 git merge branchname
分支的指针

HEAD指针 指向当前工作的分支 在切换分支时指向新的分支

比较差异
  • 比较暂存区和工作区的差异 git diff
  • 比较暂存区与版本区的文件差异 git diff --staged
  • 比较分支内的两个版本的差异 git diff 版本号 版本号
  • 比较两个分支的最新提交 版本的差异 git diff 分支 分支
解决冲突

当 Git 无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。”解决冲突” 就是把 Git 合并失败的文件手动编辑为我们希望的内容,再提交。git status 也可以告诉我们冲突的文件。

git log --graph 命令可以看到分支合并图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值