Git常识命令

Git能够界面化操做也能够命令行操做node

工做流

① 工做区:不只包含你实际更改的文件还应当包括当前修改但未add存入暂存区的文件变化信息
② 暂存区:临时存储文件的变化信息,记录file文件上的修改信息(细化时间节点)
③ 历史区:记录了各个版本,可查看代码更新,也可回滚到其余版本git

三个区域的提交过程:
工做区->暂存区(临时储存)->历史区(生成版本),如须要回滚(直接从历史区把须要的版本覆盖工做区)
注意:有重大改变的版本或是在一次修改工做总体完成以后才使用commit。而在这之间须要保存的修改,通常都是存放在暂存区。

三个区域

工做流命令

初始化git(不能嵌套使用git)ide

git init
以某个文件夹做为git管理的目录,初始化后会产生一个.git文件夹(勿删)

添加暂存区idea

git add . 或者 -A 或者 文件名

添加到历史区spa

git commit -m"initial"
-m参数必须添加(第一次提交叫根提交)
注意:空文件夹默认不会提交,默认添加.gitignore文件(.idea和.DS_Store和node_modules)

添加暂存区添加历史区命令行

git commit -a -m 'info'
此命令只能针对 提交过的文件使用

查看提交进程信息code

git status
若是是 红色:未添加到 暂存区
若是是 绿色:添加到 暂存区
若是是 没有:添加到 历史区

查看提交记录进程

git log

比较区的不一样rem

git diff    //不加参数即默认比较工做区与暂存区
git diff --cached   //比较暂存区与最新本地版本库(本地库中最近一次commit的内容)
git diff HEAD   //比较工做区与最新本地版本库(如HEAD指向的是分支,那HEAD还能够换成主干)
git diff --cached 版本号   //比较暂存区与指定指定版本的差别
git diff 版本号   //比较工做区与指定版本的差别
git diff 版本号1 版本号2   //比较两个版本号之间的差别

工做区的修改撤销工作流

git checkout 文件名
工做区的修改撤销到最近一次git add 或 git commit时的内容
注意:若是文件名是 .就是把暂存区所有覆盖工做区

暂存区的修改撤销

git reset HEAD 文件名
清空add命令向暂存区提交的关于文件的修改
注意:此命令仅改变暂存区,并不改变工做区

历史区版本号

git reflog //全部的历史区版本号

回滚历史区

git reset --hard 版本号

分支命令

查看分支

git branch

建立分支

git branch 分支名

切换分支

git checkout 分支名
注意:分支上添加文件须要提交后才能归这个分支全部,不然你改的只是工做区内容,并且不提交是没法切换支线的

建立并切换分支

git checkout -b 分支名

合并分支

git merge 分支名

① 默认会将分支上全部提交的内容所有合并(分支提交了两次版本,会把分支的两个版本都合并到主支),也能够选择git cherry-pick 版本号来合并某一个历史

② 合并以后,就是master和dev共有的,合并文件改变,master和dev都改变

③ 合并完成后,通常把dev这个分支删除

问题:同行修改合并时会冲突,需手动更改后,再提交历史区(不一样行不冲突,需注意顺序)

避免:

  1. 首先要创建分支,分支修改,提交到历史区
  2. 而后在回到主支上,修改主支,提交到历史区
  3. 最后再合并主支和分支

删除分支

git branch -D 分支名
不能在当前分支上,而且字母D尽可能大写

仓库命令

连接远程仓库

git remote add 别名 本身远程仓库连接

查看/删除/更新远程仓库连接

git remote -v   //查看
git remote rm 别名   //删除
git remote update 新别名   //更新

克隆到本地

git clone 远程地址 文件夹名
这里文件夹名就是设置拉取到本地时候文件夹名

拉取最新代码

git pull origin master
若是 git pull -u origin master 第一次这么写,后面只须要 git pull便可

推送到远程仓库

git push origin master 
git push origin master --force   //强制推送本地的代码
线上和线下的修改可能冲突,能够强制以本地为准推送
推送以前可能须要拉取远程的内容,合并后再次推送,如产生冲突,需解决冲突。

执行命令导出

history >1.txt   //1.txt里面就是执行过的命令

LINUS命令

PWD打印当前目录

print working directory

删除文件夹

rm -rf .git
rm -rf .    //删除整个文件,不要用

建立目录

mkdir 目录名

改变目录

cd 目录位置

显示清单

ls

建立文件

touch 文件

编辑文件

vi 文件名
i   //插入模式(编辑)
esc+:wq   //保存并退出
q!   //强制退出

查看文件内容

cat 文件名
扩展: q 用于命令行太小或是结束时

实际工做

将仓库中的代码pull下来
建立分支

git branch dev //本身的分支名称

切换分支

git checkout dev

修改代码后

git add .
git commit -m''注释'
git push origin dev //本身的分支名称,在githup上生成本身的子分支

切换到主分支

git  checkout master

主分支上拉代码

git pull origin master

合并分支

git  merge  dev
git  add .
git  commit -m '注释'
git  push  origin  master

下次再改代码的时候切换到本身的分支上进行修改

相关文章
相关标签/搜索