**git日常操作总结**
前端开发代码管理离不开git,svn这些版本工具目前常用的也就是git,在此总结下自己常用的git命令
创建远程仓库先拥有远程仓库 github 或者gitlab
本地新建文件夹
关联远程仓库
cd 到该文件夹路径
git clone git@github.com:michco/gitstudy.git
cd 到该项目路径
查看本地仓库是否关联远程仓库
git remote -v
查看本地分支
git branch
查看所有分支(包含远程分支)
git branch -a
新建分支
git branch <branchname>
切换分支
git checkout <branchname>
新建并切换到该分支
git checkout -b <branchname>
切换远程分支
Git checkout origin/master
合并某分支到当前分支:git merge <name>
//dev开发完需要合并到master分支
git checkout master
git pull
git merge dev
git push
删除分支:
git branch -d <name>
强行删除分支:
git branch -D <branch-name>
可以删除远程分支
git push origin --delete branch-name
取消合并分支命令
git merge —abort
查看分支历史
git log
搜索commit关键字查询提交记录
git log —grep=msg
可以看到分支合并图
git log —graph
如果要推送新建分支到远程,远程没有该分支,推送本地分支建立远程关联
git push --set-upstream origin <branchname>
查看修改了哪些文件
git diff
拉取当前分支最新修改
git pull
暂存全部
git add .
暂存指定文件
git add <file>
查看文件修改状态
git status
提交代码
git commit -m 'msg'
查看命令历史
git reflog
撤销修改
git checkout -- file
如果已经提交了 需要撤下进行版本回退操作
git reset --hard commit_id
删除一个文件
git rm file
储藏仓库文件
git stash save 'msg'
查看储藏列表
git stash list
来查看stash的内容变化
git stash show -p stash@{1}
恢复储藏
git stash apply stash@{0}
删除储藏
git stash drop stash@{0}
恢复同时把储藏删除
git stash pop
清除全部stash
git stash clear
想合并某次提交到当前分支
git cherry-pick <commit-id>
推送到远程仓库
git push
强制推送到远程分支
Git push -f
理解工作区和暂存区的区别
- 工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
- 版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
- 是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
- 使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。