一、git clone
git clone 'xxx.git'
git clone 'xxx.git' workspace
二、git status
add之前文件状态颜色为红色,包含两部分:
changes not staged for commit
Untrached files
add之后为绿色,Changes to be committed
new files: xxx.js
nodefied: xxx.js
若出现:All conflicts fixed but you are still merging
解决: add + commit(此时有可能出现add前后的status状态一样)
三、git commit
1、简单的一行注释
git commit -m 'xx'
2、多行注释
git commit => 进入vim界面 => 按i进入输入模式,光标在第一行,可换行 => 输入结束按esc + :wq(退出并保存)
3、直接关闭vim界面,不会被提交
4、vim界面没有任何输入,直接:wq,不会被提交
5、合并操作(git pull origin dev),合并信息会默认被带入vim界面
四、回退工作区的内容
1、回退工作区被修改的文件
回退所有--
git checkout .
回退某个文件
git checkout -- <file>
2、删除新建的文件和文件夹
git clean -df
参数说明:
-d 删除未被添加到git路径中的文件
-f 强制运行
五、暂存区的内容回退到工作区(包括修改的和新增的)
git add 时,误添加不想提交的文件,如何解决?
1、误add所有文件
git reset HEAD || git reset .
将所有此次修改的 file 退回到工作区
2、误add单个文件,只撤销部分文件
git reset HEAD file
将此次修改的这个 file 退回到工作区
修改的文件: 绿变红(status)
新增文件 => Untrached files
六、执行完commit,想撤回上一次的commit
git reset --soft HEAD^ // 撤销commit,不撤销add
git reset --mixed HEAD^ || git reset HEAD^ // 撤销commit和add(默认)
git reset --hard HEAD^ // 撤销commit,撤销add,撤销工作区改动
七、git pull和git push
1、直接都在开发分支开发的模式
本地yp分支拉取远程yp分支 git pull
2、每个人有自己的开发分支,最后在平台上合并到dev
本地yp分支拉取远程dev分支 git pull origin dev
git push之前都要先拉取远程代码;不管是本地yp拉取远程yp,还是本地yp拉取远程dev
正常流程都是:add -> commit -> pull [-> commit 或者 add + commit] -> push
八、查看分支、切换分支
查看分支
git branch 查看本地分支
git branch -r 查看远程分支(如果没有看到想要的远程分支,需要先git fetch origin一下)
git checkout xxx 切换到名字为xx的本地分支
git checkout -b xx 创建并切换到名为xx的本地分支
九、删除本地、远程分支
删除本地分支
切换至主分支master => git branch -D yp
删除远程分支
git push origin --delete yp
十、git stash
场景:如果某个文件的改动不想直接撤销,可能以后会用
git stash save 'xx' 将当前文件夹中所有变动存为一条
git stash pop 弹出最新的那条存储(存储栈中会删除那一条)
git stash list 查看
十一、分支合并
当前在yp分支上
git merge dev
撤销合并
git merge --abort
撤销场景:
1、在yp分支上'git merge dev'
2、在yp分支上'git pull origin dev'