关于前端:Git-常用命令

40次阅读

共计 2145 个字符,预计需要花费 6 分钟才能阅读完成。

四个工作区域

Workspace:工作区,就是你平时寄存我的项目代码的中央

Index / Stage:暂存区,用于长期寄存你的改变,事实上它只是一个文件,保留行将提交到文件列表信息

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

Remote:近程仓库,托管代码的服务器,能够简略的认为是你项目组中的一台电脑用于近程数据交换

Git 工作流程

1. 在工作目录中批改文件。2. 暂存文件,将文件的快照放入暂存区域。3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录

文件四种状态

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

 新建文件 --->Untracked

应用 add 命令将新建的文件退出到暂存区 --->Staged

应用 commit 命令将暂存区的文件提交到本地仓库 --->Unmodified

如果对 Unmodified 状态的文件进行批改 ---> modified

如果对 Unmodified 状态的文件进行 remove 操作 --->Untracked

常用命令

  • 初始化

    git init // 创立
    git clone /path/to/repository // 克隆
    git config --global user.email "you@example.com" // 配置 email
    git config --global user.name "Name" // 配置用户名
    
  • 操作

    git add <file> // 文件增加,A → B
    git add . // 所有文件增加,A → B
    git commit -m "代码提交信息" // 文件提交,B → C
    git commit --amend // 与上次 commit 合并, *B → C
    git push origin master // 推送至 master 分支, C → D
    git pull // 更新本地仓库至最新改变,D → A
    git fetch // 抓取近程仓库更新,D → C
    git log // 查看提交记录
    git reflog // "reference log" 的缩写,查看 Git 仓库中的援用的挪动记录。git status // 查看批改状态
    git diff // 查看具体批改内容
    # git diff:是查看 workspace(工作区)与 index(暂存区)的差异的。# git diff --cached:是查看 index(暂存区)与 local repositorty(本地仓库)的差异的。# git diff HEAD:是查看 workspace 和 local repository 的差异的。(HEAD 指向的是 local repository 中最新提交的版本)git show // 显示某次提交的内容 
  • 撤销

    git reset <file>// 某个文件索引会回滚到最初一次提交,C → B
    git reset// 笼罩了缓存区,工作区处于 modified,C → B
    git reset --hard //  笼罩了工作区、缓存区,C → B → A
    git reset --soft // 撤销了提交,工作区处于待提交状态 staged
    
    //2.3 版本后不举荐用 checkout 命令撤销
    git checkout // 从 index 复制到 workspace,B → A
    git checkout -- files // 文件从 index 复制到 workspace,B → A
    git checkout HEAD -- files // 文件从 local repository 复制到 workspace,C → A
    git revert // 撤销某次提交 用于
    git restore 
  • 分支操作

    git checkout -b branch_name // 创立名叫“branch_name”的分支,并切换过来
    git checkout master // 切换回主分支
    git branch -d(-D)branch_name // 删除名叫“branch_name”的分支
    
    git branch -a  // 查看本地和近程分支
    git branch -vv // 查看,以后的本地分支与近程分支的关联关系
    git push origin branch_name // 推送分支到远端仓库
    git merge branch_name // 合并分支 branch_name 到以后分支 (如 master)
    git rebase // 衍合,线性化的主动,D → A
git rm -r --cached . // 从版本治理移除文件,对本地文件不影响,通过这步操作 再编辑.gitignore 才有成果

一些动图

正文完
 0