cmd常用DOS命令
盘符转换:
目录:md/rd/cd/dir (帮助记忆:make/remove/change directory)
echo:查看环境变量(中的PATH)
echo %PATH%
set PATH
注意:在dos窗口中以命令行方式对环境变量的操作只对当前窗口的应用有效
type/more:显示文件内容
管道:>, >>, <
[综合运用]创建文件:type nul > [filename]
确认git已安装
安装Visual Studio 2107之后,在vs2017安装目录中找到 git.exe
检查系统环境变量path(我的电脑-属性-高级系统设置-),是否添加了git.exe的路径
运行cmd,输入:
git --version或者,按Team Explore提示安装gitbash
git config
-- list:显示所有配置 (退出:q)
三种配置
位置:
修改示例:
仓库(repository)
git的逻辑:现在本地创建一个仓库,所以变化首先提交到本地仓库,然后再进行“推送”
git init [-bare] #在当前目录初始化一个(空)仓库 git add #往仓库中添加需被跟踪(track)的文件 git commit -m "init" #将变化提交到仓库中
Linux风格:
查看当前状态
git status [-s]
关键字:change / untracked / unstaged / staged/ commit
忽略不需要被track的文件:.gitignore。查看被git管理的文件:
git ls-files
常用命令
查看更改(和Repoistory相比)
git diff #尚未添加到stage的变更:比较工作区和仓库 git diff --staged #已经添加到stage,尚未提交的变更:比较staged和repository
查看历史提交
git log <filename> #某个文件的历史记录 git log -p -2 --stat #最近两次的提交,包含差异和统计信息 git log --since=2.weeks #最近两周以内的提交 git log -Sagain #内容中包含again的提交 git log --grep init #message log中包含init的提交 global regular expression print git log --pretty=oneline #一次提交只显示一行 git log --pretty=format:"%h - %an %cd : %s" #指定格式 hash / author name / commit date / subject
标签
打标签:
git tag v1.0 #轻量级 git tag -a v1.0 [-m "<message>"] #加注释 git tag -a v1.1 <commit_hash_id> #在<commit_hash_id>上补打标签查看标签:
git tag [-l <seek_tag_part>] #显示现有的标签 git show <tag> #显示<tag>标签详细信息删除标签:
git tag -d <tag_name>迁出标签:
git checkout <tag_name>
其他操作(慎重)
删除文件
重命名
撤销
git commit --amend #合并两次提交(修复上一次提交)
git reset HEAD <file> #从暂存区中移出
git checkout -- <file> #撤销(工作区上)文件上的更改,类似于undo/ctrl+z体会:暂存区的意义?
远程仓库管理
为什么需要?多人协作。
首先,你要有一个远程仓库!(无法在本地通过git命令在远程创建一个仓库)
然后,在本地(local)仓库和远程(remote)仓库之间同步(sync):
clone #克隆,把远程仓库(包含历史记录,不仅是最新版本)复制到本地 fetch #获取远程仓库里(别人提交的)未同步的更新信息,并存放到本地仓库 merge #将fetch得到的更新同步到工作区(分支合并) pull #=fetch+merge push #把本地仓库中的改动推送到远程仓库
remote管理:
git remote [-v] # 显示管理的远程仓库 git remote add <remote_name> <url> # 将<url>添加进远程仓库管理,本地名为<remote_name> git remote show <remote_name> # 显示<remote_name>的详细信息 git remote rename <old> <new> # 重命名 git remote rm <remote_name> #删除远程仓库的管理推送标签:
git push origin <tag_name> #将标签推送到远程仓库
分支
git branch #显示所有分支 --merged --no-merged git branch <branch_name> #创建新分支<branch_name> git checkout [-b] <branch_name> #切换到分支<branch_name> git merge <branch_name> #在当前分支上合并<branch_name> git branch -d <branch_name> #删除(delete)不需要的<branch_name>
跟踪分支:
基于远程分支创建的本地分支会自动成为跟踪分支,即与远程分支直接关联的本地分支。
git branch -vv #查看跟踪的远程分支
比较:
git checkout -b <new_branch_name> <remote>/<branch_name> #能指定新创建分支的名字 git checkout --track <remote>/<branch_name> #指定需要跟踪的远程分支名字 git checkout <branch_name> #如果本地没有远程分支对应的分支,自动创建并跟踪
思考题:这两条命令的本质是什么?
git reset HEAD <file> #从暂存区中移出 git checkout -- <file> #撤销(工作区上)文件上的更改,类似于undo/ctrl+z
命令:git reset 后可指定版本号,进行一个完整的reset操作:
复习:工作区 (work directory) => 暂存区(stage/index) => 仓库(repoistory)
推荐:git revert HEAD[^] | <log_number>
将撤销操作当成一次提交保存,而不会真的删除一次提交。
帮助(help)
作业:
在cmd窗口中,使用DOS和git命令,完成以下任务:
多快好省!前端后端,线上线下,名师精讲
更多了解 加: