从svn到git
两者都是优秀的版本管理工具(giter请不要鄙视svner)
- svn上手非常容易,操作简单
- git功能强大,但是要熟练使用分支不算容易
git因为是分布式的,所以其核心就是分支(只有master分支情况下和svn差不多?),分支的意义在于,可以将项目代码按照功能、模块拆分成不同的分支。比如这个产品要加一个支付功能和一个登陆功能,可以创建两个分支,交给不同的开发人员并行开发。登陆功能先开发完,测试无误后合并改分支到master分支,master分支部署上线。支付功能虽然没有开发完成,但是在另一条分支上,所以产品上线和功能开发完全不受影响。这才是分布式开发的高效模式。
被git坑了一个星期之后决心把官方文档看一下,结合实践经验进行了整理。
新手常见问题
-
如何查看有哪些分支?
git branch -a
-
如何强制检出/切换分支或分支指定文件
git checkout <branch> [file] [-f]
强制更新,以branch版本的代码为主 -
提交代码出现冲突冲突怎么办?
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
先切换分支,然后拉取分支上最新的代码覆盖到本地git pull
添加或者提交代码,解决冲突之后git push
-
如何新建分支
git checkout -b <branch_name>
本地建立 branch 並立即切換到新分支git branch -m <new_name>
修改分支名称 -
从远程仓库拉取代码到本地仓库,并建立跟踪关系
git clone http://xxx.git
或者get clone git@xxx.git
然后git checkout -b <本地新分支名> <对应的远程分支名>
-
远程仓库新建了一个分支,如何更新远程分支信息
git fetch <remote base>
-
如何在远程仓库新建一个分支
git branch <branch name>
新建一个本地分支,按照正常流程提交完代码后,推送到远程git push <remote base> <local branch>:<remote branch>
实用指令
reset
git reset [file]
取消暂存
remote
查看远程仓库名
git remote -v
查看远程仓库url
git remote add <basename> <url>
新增远程仓库
git remote show <basename>
查看远程仓库详细信息
git remote rename <old basename> <new basename>
重命名远程仓库
pull
相当于fetch和merge
push
git push [remote_branch] [local_branch]
推送本地仓库代码到远程仓库,相当于svn的commit
git push <remote base> [tag name]
推送本地标签到远程仓库
git push <remote base> <remote branch>:<local branch>
将本地分支推送到指定的远程分支
git push <remote base> --delete <remote branch>
删除远程分支
tag
查看标签(用来标记标志性的稳定版本信息)
git tag -l '[expression]'
查看那符合正则表达式的
git tag -a <tag name> -m <comment>
添加带注释的标签
git tag -a <tag name> <md5>
对某个版本打标签
git tag [tag name]
如果没有标签名,则为查看所有标签。带标签名则为新建标签
merge
git merge <branch name>
将其他分支合并到本分支
commit
git commit -a -m 'xx'
暂存并提交
branch
git branch
查看本地仓库分支
git branch -v
查看本地仓库分支最后一次提交情况
git branch -vv
查看分支跟踪情况
git branch <branch name>
新建分支
git branch -d <branch name>
删除分支
git branch [--merged | --no-merged]
查看已合并|未合并的本地仓库分支
git branch -u <remote base>/<remote branch>
修改当前跟踪分支
commit
git commit -a -m 'xx'
提交并且暂存暂存的方法
checkout
git checkout -- [file]
恢复文件
git checkout -b [branchname] [tagname]
在特定的版本上创建一个新的分支并切换到此分支
git checkout -b [local branch] [remote base]/[remote branch]
将远程分支检出到本地分支
git checkout --track <remote base>/<remote branch>
让当前分支跟踪远程分支
git checkout --track <remote base>/<remote branch>
git checkout -b <local branch> <remote base>/<remote branch>
让当前分支跟踪到远程分支。两条命令作用基本一致,不同的是第二条命令可以重命名检出的分支。
rebase
git rebase [basebranch]
变基是将一系列提交按照原有次序依次应用到另一分支上,而合并是把最终结果合在一起。
小技巧
查看配置
git config -1
设置别名
git config --global alias.<name> <commend>
保存用户名和密码
对于http(s)协议,可以用下面命令临时缓存
git config --global credential.helper cache
开启linux缓存git config --global credential.helper wincred
开启windows缓存
相关推荐
git 学习总结脑图记录git内部原理
git学习,总结,个人实践+廖雪峰老师文档总结。
Git 是一个分布式版本控制系统,与传统的集中式版本控制系统如SVN相比,有着显著的优势。Git 支持离线工作,每个工作...通过学习和掌握Git,开发者可以更有效地协同工作,管理项目代码,保证代码质量和版本控制的顺畅。
Git 是一个分布式版本控制系统,与传统的集中式系统如SVN相比,它的主要特点是每个开发者的本地机器上都拥有一个完整的仓库历史。Git 支持离线工作,可以在没有网络连接的情况下进行提交,然后在有网络时再将本地的...
Git学习总结——大型分布式团队的代码版本管理 代码版本管理系统在软件开发中扮演着至关重要的角色,从最初的无管理到集中式,再到如今的分布式管理,每个阶段都反映了技术发展的需求变化。本文将探讨代码版本管理...
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件
总结来说,Git 作为一款强大的版本控制系统,极大地促进了团队协作和代码管理。掌握 Git 的使用,不仅可以帮助开发者更好地追踪和管理代码变更,还能提升项目的透明度和可维护性。无论是个人项目还是大型企业级开发...
git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git学习git...
Git学习手册为读者提供了一个详细的Git使用指南,涵盖了从基础到高级的众多概念。无论是配置管理、版本控制的基础知识,还是分支管理、回滚操作和远程仓库的实践,本手册都力求详细讲解,帮助读者有效掌握Git的使用...
git学习笔记总结-版本管理
"git学习常用命令总结" Git是当前最流行的版本控制系统之一,对于开发者来说,掌握 Git 的基本命令是必不可少的。本文将对 Git 的常用命令进行总结,帮助开发者快速掌握 Git 的使用。 初始化操作 在使用 Git ...
### 字节跳动《Git学习手册》核心知识点详解 #### 一、Git基础概念与原理 **Git** 是一种分布式版本控制系统,它可以帮助开发者高效地管理项目代码的变更历史。相较于传统的集中式版本控制系统(如SVN),Git具有...
### Git命令学习与实践总结 #### 一、Git基本概念 **Git** 是一个分布式版本控制系统,被广泛应用于软件开发项目中。它可以帮助开发者管理代码变更历史,支持多人协作开发。 **分支(Branches)**: 在Git中,分支...
在学习Git时总结的常用命令,内容包括git的三层结构、4种状态、git config配置命令、基本命令、git分支操作命令、远程仓库命令、git撤销命令等
### git版本控制学习 #### 一、Git简介与基本概念 **Git** 是一个开源的分布式版本控制系统,用于跟踪在软件开发过程中对文件的修改。它最初由Linus Torvalds于2005年创建,目的是为了更高效地管理Linux内核的源...