标签:ted 一个 查看 精简 name 项目 ice 用户名 实用
详情可参考:Git 实用教程(小甲鱼)
***
*注意:如果在Git的配置中出现问题,建议参考ssh本地配置和本地缓存设置
git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --list
Git原生态的命令行模式和Git的界面模式区别: 大多数界面模式只实现Git的常用命令,而命令行模式拥有Git的所有命令
与SVN记录的是每一次版本变动的内容不同,Git是将每个版本独立保存
mkdir 文件夹名
cd 文件夹名
git init
touch README.md
vi README.md
This is a project!
git add README.md
git commit -m "add a readme file"
git status
git add LICENSE
git reset HEAD
git checkout -- LICENSE
git log
git reset HEAD~
补充 以下第一个指令是回滚两个快照;第二个指令是回滚三个快照;第三个指令也是回滚三个快照
~~~
git reset HEAD~~
git reset HEAD~~~
git reset HEAD~3
~~~
git reset --soft HEAD~
git reset --mixed HEAD~
git reset --hard HEAD~
git reset 指定的版本快照ID号
git reset --hard 指定的版本快照ID号
git reset 版本快照 文件名/路径
git add README.md README2.md
git commit -m "add two file"
git diff
补充 当文件内容过多,单页显示不了全部时,可使用vim的快捷键:
输入键盘的【J】键,表示显示下一行
输入键盘的【K】键,表示显示上一行
输入键盘的【F】键,表示显示以单页内容向下移动
输入键盘的【B】键,表示显示以单页内容向上移动
输入键盘的【D】键,表示显示以半页内容向下移动
输入键盘的【U】键,表示显示以半页内容向上移动
输入小写的【g】,跳转到文件顶部
输入大写的【G】,跳转到文件底部
输入【数字+g/G】,跳转到文件顶部向下或者文件底部向上指定数字的那一行
输入键盘的【H】键,进入帮助文档,会给出所有的快捷键操作提示
输入键盘的【Q】键,即可退出文档
输入【?关键词】,表示从下往上搜索文件内容是否含有指定的关键词
输入【/关键词】,表示从上往下搜索文件内容是否含有指定的关键词,如同一关键词出现多次,输入小写【n】,跳转到下一个关键词;上一个则为大写【N】
git diff 快照ID1 快照ID2
git diff 快照ID
git diff HEAD
git diff --cached [快照ID]
补充 通常[--]后输入的是单词全写,[-]后输入的是单词首字母简写
实际应用场景一:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add)
实际应用场景二:版本刚一提交(commit)到仓库,突然想起版本说明写的不够全面,无法彰显本次修改的重大意义
解决方式 执行以下指令,进入修改文件内容,Git就会“更正”最近的一次提交,而不会添加一次新的提交记录
~~~
git commit --amend
git commit --amend -m "修改说明但不进入修改界面"
~~~
git checkoout -- 文件名
git rm 文件名
注意
git rm 文件名
git reset --soft HEAD~
git rm -f 文件名
git rm --cached 文件名
不太正确的重命名方式 直接修改文件名将会Git出现错误提示( 提示删除原名文件同时添加重命名文件 ),此时重新改回旧文件名,又不会有错误提示了
正确的重命名方式 输入以下指令进行文件重命名
~~~
git mv 旧文件名 新文件名
~~~
上述指令等价于以下指令
~~~
ren/mv 旧文件名 新文件名
git rm 旧文件名
git add 新文件名
~~~
其他版本控制系统的分支:克隆一份全新的目录以同样拥有5个分支来说,SVN是同时复制5个版本的文件,也就是说重复5次同样的动作,而Git只是获取文件的每个版本的元素,然后只载入主要的分支(master)。从小甲鱼的经验,克隆一个拥有仅一万个提交(commit),5个分支,每个分支有大约1500个文件的SVN,耗时近1小时,而Git只用区区1分钟
git branch 分支名
git log --decorate
git checkout 分支名
git log --decorate --oneline
git log --decorate --oneline --graph --all
git merge 分支名
注意 当自动合并分支失败时,可能是分支之间出现内容冲突,即分支之间相同的文件其内容不一致,导致无法合并,需要打开冲突文件手动解决冲突,然后再输入合并分支的指令
git checkout -b 分支名
git branch -d 分支名
git checkout HEAD~
匿名分支 匿名分支是Git自动创建的,当切换到其他分支时,那么即便匿名分支中新建的文件提交到Git仓库中,也不会被保存,也就是消失了找不到了
匿名分支的作用 可以作为文件提交的实验性尝试,当一些文件提交存在风险的时候,可以先新建匿名分支,在这里的文件提交都不会对项目整体产生任何影响,确定文件内容可以使用时,再为匿名分支命名即可
恢复文件区别:reset指令只将指定文件恢复到暂存区域[--mixed],而checkout指令会同时覆盖暂存区域和工作目录。因而, 在恢复文件方面,reset命令要比checkout命令更安全
注意 当使用 git reset --hard HEAD~ README.md 指令来同时覆盖工作目录时,会使用不了(这种情况下reset不被允许使用[--soft]或[--hard]选项)
标签:ted 一个 查看 精简 name 项目 ice 用户名 实用
原文地址:https://www.cnblogs.com/codeplayer1999/p/12316311.html