常用命令
- ls 查看当前文件夹里面文件
- ls -a / ls -ah 查看当前文件夹里面文件(包含隐藏文件 eg: .get .history .idea...)
- pwd 显示当前目录 (eg:/d/WorkSpace/project/kol-Editor-Sop/kol-Editor-Sop/resources )
- mkdir 文件夹名 创建文件夹
- touch 文件名 创建文件
- ls -la 查看该目录下所有文件(包含隐藏文件)
- dir 查看文件夹里面的文件目录
- D: 进入文件目录
- cat 文件名 查看文件内容
1.安装git配置git
全局配置
- $ git config --global user.name "Your Name"
- $ git config --global user.email "email@example.com"
局部配置(某个项目配置)
- $ git config user.name "Your Name"
- $ git config user.email "email@example.com"
初始化git仓库,git进行管理
注意: 当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库,千万不能手动修改,如果看不到用 ls -a命令查看
git init 复制代码
.git文件夹里面的文件配置信息说明
- hooks
- info
- objects
- refs
- config
- description
- HEAD
git工作的三个区域
-
工作区
-
暂存区
-
版本区
git add git commit 工作区 ================> 暂存区 ================> 版本区 1. 工作区的文件修改都是红色的 2. 暂存区的文件都是绿色的 工作区(Working Directory) =>git add 到暂存区 取消用 git reset HEAD工作区文件为红色 暂存区 (Stage) =>git commit 到版本区 字体为绿色 暂存区文件为绿色 复制代码
2.版本回退 [ git reset --hard HEAD^ /commit-id]
git log ==>> 显示从最近到最远的提交日志, 由上往下是最新到最老的版本git log --pretty=oneline ===>> 一行显示 [ commit id 提交记录的id,每提交一次都会生成一个,十六进制 ]HEAD文件里面都是指针在Git中,用HEAD表示当前版本 ,回退到上一个版本 ^ , 上上个^^ .... 或者 ~数字git reset --hard HEAD^ 上一个版本git reset --hard HEAD^^ 上俩个版本git reflog 查看记录你的每一次命令复制代码
3.前进版本 [ git reset --hard commit-id ]
注意:1) HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。2) 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。3) 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。4)每次修改,如果不用git add到暂存区,那就不会加入到commit中。 每次修改完了,如果想提交到版本区域,先进行到暂存区,在到版本区 eg: 针对一个文件修改了提交了,git add 了,在进行修改,直接commit,则第二次修改不会进行commit,重新add => commit 复制代码
4.文件删除[ git rm 文件名 ]
1) 右击删除 => 没有进入暂存区, 只是删除了工作区的文件, git add => git commt 提交2) git rm 文件名 不仅删除了文件,而且还添加到了暂存区 => git commit 提交误删除撤回:(用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。) git checkout -- 文件名 git checkout . 撤回全部复制代码
5.分支处理
分支:
注意:1) 本地分支如果修改了没有添加到暂存区或者版本区,是可以切换到其他分支,在其他分支可以用git status 进行查看分支合并,如果有,没有提交的文件,是不会进行合并的2) =>HEAD指向的就是当前分支,指针3) master主分支,一条4) 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:复制代码
5.1查看分支
git branch 查看本地分支, 当前分支前面会标一个*号 git branch -r 查看远程分支 带origin的表示远程分支 红色的 git branch -vv 本地分支和远程分支对应关系复制代码
5.2创建分支/切换分支 [ git checkout -b 分支名 ]
注意: 注意: git checkout命令加上-b参数表示创建并切
git branch 分支名 创建本地分支git checkout 分支名 切换本地分支git checkout -b 分支名 ==> 创建并且切换到改分支 => git branch 分支名 git checkout 分支名git branch master 切换到主分支复制代码
5.3合并分支 [ git merge 分支名 ]
- 分支合并到主分支: => 分支提交代码,切换到主分支,进行git merge 分支名合并
- 分支合并到分支
git merge 分支名 ==> 用于合并指定分支到当前分支 注: 如果分支上有,没有提交的代码是不可以合并的,提交完毕才可以合并 git checkout master git merge 分支名 将当前分支代码合并到主分支复制代码
- 合并分支冲突解决
进入冲突模式进行退出输入: :wq退出 <<<<<<<<<<<< HEAD code ... =============== code >>>>>>>>>>>>>> 处理冲突完成,进行提交代码, 删除合并过来的分支复制代码
5.4删除分支
注意: ==>处在当前分支是不能删除当前分支的,切换到其他分支进行删除
- 删除本地分支 git branch -d ([ Deleted branch develop (was fcaaa1a). ] )
- 删除远程分支 git push origin -d
6. 解决冲突
储藏你的工作 git statsh
存储: 可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。 场景: 经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。复制代码
git stash 存储完成,进行分支切换开发
# On branch master nothing to commit, working directory clean复制代码
git stash list 要查看现有的储藏
git branch 分支 切换回来,继续进行开发,
git stash apply