git命令总结(二)

ctrl+c                                              //退出正在进行的任务
$git checkout -b newBranchName                     //创建并切换到新的分支
$git checkout master                               //切换到主分支
$git merge newBranchName                           //整合当前分支和newBranchName分支    
$git branch -d newBranchName                       //删除newBranchName分支
----------
$git branch xxx                                        //创建分支  
$git checkout xxx                                  //切换分支
//
$git branch                                            //列出所有分支,当前分支前面会标一个*号
----------
$git add .                                             //add所有文件到暂存区
$git commit -m "提交文件"                          //改变head指向
----------
$git push -u origin master                          //首次,把所有文件推送上去
$git push origin master        
----------
$git log --graph --pretty=oneline --abbrex-commit      //查看分支合并图
$git merge --no-ff -m"" xxx                                //不用fast forward模式合并
//合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,
//而fast forward合并就看不出来曾经做过合并。

master分支,稳定,在发布版本时候才合并
dev分支,平时都整合到dev
michael:贡献者1的分支
bob:贡献者2的分支
多分支工作

$git stash                 //工作一半,还不能add,但有新任务,要保存工作现场
$git stash pop             //恢复工作现场,并且删除stash的内容
$git stash list                //查看stash内容
$ls
$git stash apply           //单纯恢复工作现场
$git stash drop                //丢弃stash内容
-----------------
$git branch -D xxx             //强制删除未合并分支
$git push origin <branch>  //push 分支和内容
----------
$git remote add origin git@github.com:OZCNO/learngit   //本地远程关联到github的learngit库
-----------------
$git branch --set-upstream dev origin/dev      //建立本地dev与远程dev的联系
$git pull                                      //然后抓取合并

$git remote -v
$git checkout -b branch-name origin/branch-name            //在本地创建一个和远程分支一样的分支
----------------------
$git tag v1.0                                  //打标签,v1.0
$git tag                                       //查看标签
$ git tag v0.9 6224937                         //对commit id是6224937的状态做标签
$git show <tag>                                    //查看标签信息
$ git tag -a v0.1 -m "version 0.1 released" 3628164        //创建带有说明的标签,用-a指定标签名,-m指定说明文字
$git push origin tagname       //推送一个标签
$ git push origin --tags       //推送所有标签
$git tag -d tagname                //删除标签
$git push origin:refs/tags/<tagname>    //删除远程标签
----------------------
$git clone git@github.com:name/xxx.git     //从自己的github中下载xxx.git到本地

github上因为多了readme文件,导致版本不一样
先在本地库git initgit add .git commit -m "commit content",后git pull --rebase origin master整合
$ git push -u origin master推送所有,之后直接 git push origin master就好了

多人合作的方式方法:
1,让同伴fork一份你的项目,改好了再pull request,你测试没问题后再merge
2,在项目settings的Collaborators这里,把伙伴的github账号加入Collaborators中

忽略特殊文件,不管它的状态 .gitignore文件,请看我上一篇文章
$ git add -f App.class 强制添加被ignore的文件

$ git config --global alias.st status 设置别名

同步原作者github仓库和自己克隆下来再本地的仓库
1)进入本地项目目录,输入 $git remote -v:
这里写图片描述
蓝框内的url是我Github上的项目,红框内的url是原作者项目。如果没有upstream,即没有原作者项目的url,你需要自己添加:
$ git remote add upstream <原作者项目的URL>
2)将原作者项目更新的内容同步到我的本地项目(不是我Github网上的项目):
a) Fetch the branches and their respective commits from the upstream repository. Commits to master will be stored in a local branch, upstream/master.
$git fetch upstream
b) Check out your fork’s local master branch.
$git checkout master
c) 接下来就是合并这两个分支,将原作者项目的修改同步到自己这里(注意还是指本地项目,不是自己Github空间里的项目)。Merge the changes from upstream/master into your local master branch. This brings your fork’s master branch into sync with the upstream repository, without losing your local changes.
$git merge upstream/master
至此我的本地项目已经于原作者项目同步了。但是只是保存在本地仓库,如果要自己的github仓库也同步则要push

最后,如果想要系统学习的并且英语不错的可以去看git官网,如果英语不太可以那么就去看廖雪峰老师的吧,另外有一个篇幅不是很长但也有情景介绍的网站

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值