git常用命令

2017-07-08  本文已影响0人  西木木亢

git init                                                  创建版本库

git add . 或者 git add --all                 一次性提交所有文件

git status                                            查看仓库当前的状态

git diff  readme.txt                            查看文件不同(提交到仓库就放心多了)

git log                                                显示从最近到最远的提交日志

git log --pretty=oneline                    显示为一个提交一行

HEAD  当前版本      HEAD^  上一个版本       HEAD^^  上一个版本 

git reset --hard HEAD^                    回退到上一个版本

git reflog                                            记录每一次命令

git reset --hard de20e25                回退到commit id为de20e25的版本

git diff HEAD -- file1.txt                  查看工作区和版本库里面最新版本的区别

git checkout -- file1.txt                    让这个文件回到最近一次git commit或git add时的状态

git reset HEAD file1.txt                  把暂存区的修改回退到工作区

git remote add origin https://github.com/ximumukang/webpack-task50.git              添加远程仓库

git remote remove origin                 取消与远程仓库的关联

git push -u origin master                  将提交推送到远程仓库(GitHub)

git push origin :[branchNmae]      删除远程端(GitHub)删除一个分支  :代表删除

git checkout -b dev                          创建并切换到dev分支

git branch dev                                  创建dev分支

git checkout dev                               切换到dev分支

git branch                                          列出所有分支,当前分支前面会标一个*号

git merge dev                                  用于合并指定分支到当前分支。

git branch -d dev                             删除dev分支

git revert -m 1 8e7eb9970ca251bb54e2ad3e759e5f1a49e56a88     commit 为 [revert123456]            撤销1次合并     -m  1(处在master分支时,撤销的是git merge dev  1代表保留master  2代表dev)    这是反向删除

git revert revert123456                  revert上次的revert,把撤销的代码找回


                                           分支管理策略

git merge --no-ff -m"merge with no-ff"dev                    --no-ff参数,表示禁用Fast forward         

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:


                                                     Bug 分支  

git stash                                    把当前工作现场“储藏”起来,等以后恢复现场后继续工作

git checkout master

git checkout -b issue-101

git add file1.txt

git commit -m "fix issue-101"

git checkout master

git merge --no-ff -m "merged bug fix 101" issue-101

git branch -d issue-101

git stash list                                储存的列表

git stash apply                           恢复后,stash内容并不删除,你需要用git stash drop来删除

git stash pop                             恢复的同时把stash内容也删了

git stash apply/pop stash@{0}        恢复指定的stash


                                           多人协作


                                     .gitignore

node_modules/                 //忽略node_modules文件夹

a.json                                //忽略a.json文件

*.json                                //忽略掉所有的后缀为json的文件                


参考:廖雪峰git教程

上一篇 下一篇

猜你喜欢

热点阅读