====== 基本操作 1 ====== 参考:[[http://marklodato.github.io/visual-git-guide/index-zh-cn.html|图解git]] {{http://marklodato.github.io/visual-git-guide/basic-usage.svg.png}} * git init 初始化一个新的仓库 * git clone https://github.com/easeflyer/gd_plugin.git 从现有仓库克隆 * git add files 把当前文件放入暂存区域。 stage 注意: git add 同时具有添加到跟踪列表的功能。(下面举例) * git commit 给暂存区域生成快照并提交。 history * git reset -- files 用来撤销最后一次git add files。 * git add . git reset . 互逆操作 添加所有到暂存区/撤销所有暂存区域文件。 * git checkout -- files 把文件从暂存区域复制到工作目录,用来丢弃本地修改。(注意将会丢弃本地修改。) 重点:三个区域的复制 与 取消的正逆操作。 **合并操作:** {{http://marklodato.github.io/visual-git-guide/basic-usage-2.svg.png}} * 见图:http://marklodato.github.io/visual-git-guide/index-zh-cn.html * git commit -a 相当于运行 git add 把所有当前目录下的文件加入暂存区域再运行 git commit.注意这里有一个坑,如果文件从没有被跟踪过(untracked)仍然需要用 git add . 先添加 * git checkout HEAD – files 回滚到复制最后一次提交。 **忽略文件**\\ cat .gitignore 支持通配符和正则,具体语法大家百度。 目的是避免跟踪某些文件。 **删除文件**\\ * git rm files 从暂存区 和 工作目录同时删除,然后可以 commit 到版本库。 * rm files 从工作 目录删除 因为暂存区没有删除,因此提示:修改没有暂存。如果需要提交到版本需要 git add . 暂存 然后在 commit * git rm --cached f3.py 从版本库 和暂存区删除(不再跟踪) 文件仍然存在于工作目录(untracked状态) **改名文件:**\\ * git mv f3.py f4.py 同样是在 暂存区操作。随即commit 即可。\\ * mv f2.py f3.py 则会产生 f2.py 是未暂存的, f3.py 是 未跟踪的。因为 f2.py 从工作目录删除,暂存区为修改; 改名为f3.py 而f3.py 还没有被跟踪过。