关于Git使用的常见问题和命令

关于Git使用的常见问题和命令

git加入环境变量

问题:安装git后在git-bash中可使用git命令,在windows命令行和webstorm的terminal工具中没法使用git;
解决:将git添加到环境变量;
右键单击‘计算机’ -> '属性' -> ‘高级系统设置’-> ‘环境变量’ -> “系统变量”中的‘path’ -> 选中path并选择编辑 -> 将如下路径复制进去:
git

git安装路径中cmd文件夹的路径 (如 C:\Program Files\Git\cmd)web

协做流程

1 webstorm 切换分支(根据票的定位), git pull使代码到最新状态;
2 在对应分支上进行修改;
3 修改后提交到本地;
4 git pull 拉下远程最新代码(若是有冲突手动解决);
5 git push 推送本地提交。windows

git diff 还没有暂存的文件更新了哪些部分
git diff --cached(staged) 已暂存的文件更新了哪些部分
git mv file_from file_to 对文件重命名bash

查看提交历史

https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2
git log 按提交时间列出全部更新
git log -p -2 显示最近两次提交的内容差别
git log --stat 每次提交的简略统计信息
git log --graph 显示ASCII图形表示的分支合并历史服务器

远程仓库使用

https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8
git fetch [remote-name] 访问远程仓库拉取上次更新后新推送的全部工做,但不会自动合并;
git pull 会从克隆的服务器上抓取数据并自动尝试合并到本地当前分支;
git remote show 远程仓库名(origin) 查看特定分支执行git pull 或git push会链接哪个远程分支;
git remote rename namefrom nameto 重命名远程分支,一样会修改远程分支名
git remote rm [仓库名] 移除远程仓库app

关于分支

https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6
切换分支以前,最好保持干净状态,避免没法切换;
切换分支时,git会自动修改本地文件到对应分支最后一次提交的状态;
合并分支到master: 先切换回master分支,再合并
git checkout master
git merge hotfix
合并以后能够删除该分支
git checkout -d hotfixwebstorm

git mergetool 启动可视化合并工具,一步一步解决冲突;工具

git branch 查看分支列表
git branch --no-merged 查看含有未合并内容的其余分支
git branch -D [分支名] 强制删除分支fetch

储藏stash

在一个分支中修改到一半,如今须要切换到别的分支,当前分支修改不想提交,能够先储存在栈中:
git stash 储存当前修改;
这时运行status就像提交以后同样干净;能够切换到别的分支;
再次切换回来后,可使用git stash apply应用以前的储存;(当有多个存储,默认最近的存储,也能够经过git stash apply stash@{index}指定较旧的存储)
git stash list 查看已有的存储列表
git stash drop stash@{index} 删除指定的存储命令行

git版本回退

可能状况:commit以后,但愿撤回这一次提交回到提交以前的版本; git reset [--mixed] HEAD~ ,表明将分支状态和暂存区状态回退到最近一次commit以前的状态,至关于将上一次的commit和add动做撤销,而修改的内容还在工做区; 其中[--mixed]为默承认省略选项;若是但愿保留暂存区状态显示设置--soft;若是但愿把全部更改在分支、暂存区、工做区都清除,设置--hard(较危险,不可逆)

相关文章
相关标签/搜索