- git的工作流程
- 在工作目录上添加、修改文件
- 将需要上传的文件放入暂存区 git add 文件名
- 将暂存区文件提交到git仓库 git commit -m 注释内容
- 配置git
- 这个操作非常重要,因为每一个 Git 的提交都会使用到这些信息,一旦确定不可更改。
- 配置用户名 git config --global user.name "Vic" 用户名叫 Vic
- 配置邮箱 : git config --global user.email "000000000@qq.com"
- 使用 git config --list 命令可以查看信息是否写入成功
- 写入成功后,新建一个项目存放的文件夹,然后dos命令位置切换到此文件夹,然后执行git init
- 会自动生成一个.git文件,由于文件时隐藏的,如果想要查看,在 查看 按钮中勾选 隐藏项目 就可以了
- 放入git仓库示例
- 在项目中的README.md文件时最好用 notepad 写,切记不要用Windows自带的记事本编写,编码为utf8无BOM
- 文件写好过后提交到缓存区 执行 git add yourfilename 可以使用 git status 查看状态
- 上传文件 git commit -m "add a readme file" ; 引号中的表示注释内容, 此处表示是添加了一个readme文件
- 一次性添加暂存区并且提交 git commit -am "introduce"
- 查看状态
- git status 查看
- MIT协议 文件名: LICENSE
Copyright <YEAR> <COPYRIGHTHOLDER>Permission is hereby granted, free of charge, to any person obtaining a copy of thissoftware and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicense, and/or sell copiesof the Software, and to permit persons to whom the Software is furnished to doso, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copiesor substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE. - git reset HEAD <file> 将最近一次提交到暂存区域的文件撤回
- 其中file 可以写可以不写, file 可以指定文件,如果不写就是把最后一次提交的文件恢复
- git checkout -- <file> 可以把修改过的文件修改会原来的版本
- git log 查看日志
- log中的id 问hash值 ssha
- git log --oneline 简洁查看
- 还可以指定作者 git log --author
- 回到过去
- reset 回滚快照
- git rest HEAD~ 回到暂存区 (log中上一个快照)
- git reset --soft HEAD~ 撤销上一次的提交
- git reset --hard HEAD~ 直接删除工作空间的文件
- git reset id 回滚到指定id号(不仅看可以回滚,还可以往前走,但是要至少知道版本号的前5位)
- git reflog可以查看历史中的所有版本号
- 恢复被误删除的文件
- 首先git relog找到以前的版本id
- 使用命令git reset id 恢复到暂存区
- 然后使用gir reset --hard id 恢复工作空间
- reset 回滚快照
- 版本对比
- git diff
- 切换键
- j下一行 ,k上一行 ,
- f键网下移动,b往下移,
- d向下移动半页,u向上移动半页,
- 小写g第一行,大写G最后一行 ;
- 输入数字g 表示跳到指定行
- 搜索 命令
- / 表示从上往下搜索 ------- 比如搜索 print /print
- ?表示从下往上搜索
- 比较两个历史快照
- git diff ID1 ID2 前五位以上的id
- 切换键
- 退出对比 q
- 快照和当前目录的内容对比
- git diff id(快照id)
- git diff HEAD 比较最新一次提交的快照和当前目录的对比
- 比较暂存区和git仓库的快照
- git diff -cached [快照ID]
- 快照和当前目录的内容对比
- git diff
- 常规操作
- 修改
- git commit --amend 对近一次快照说明进行修改
- vim模式下编辑
- 进入编辑 i
- 退出 esc
- 按住shift 两次zz 保存退出
- zq 不保存退出q放弃
- :q 不保存退出
- :q!保存退出并强制写入,会修改时间戳
- :x保存退出,当文件未被修改时,不会更改时间戳
- 文件在工作空间被删除
- 可以git status 查看被删除的文件
- 使用git git checkout -- 文件名 注意:两个横杠边有空格
- 仓库删除文件
- 彻底删除
- git rm filename
- 只是删除工作目录和暂存区 的文件
- goit reset --soft 文件名
- git rm filename
- 删除暂存区和工作空间的文件
- git rm -f filename
- 只删除暂存区文件
- git rm --cache filename
- 彻底删除
- 重命名文件
- git mv oldeName newName
- 创建和切换分支
- 创建分支
- git branch 分支名
- git checkout -
- git checkout -b 分支名 表示创建分支并且切换
- 查看 git log --decorate
- 切换分支
- git checkout 分支名
- 不同分支保存内容版本不同
- 查看所有仓库
- git log --decorate --oneline --graph --all
- 创建分支
- 合并分支
- git merge 需要合并到当前分支的分支名
- 当出现同名文件时 会报错
- 此时使用git status 查看状态
- 并且修改此文件
- git merge 需要合并到当前分支的分支名
- 删除分支
- git branch -d 分支名
- 上传文件
- git push