git开发使用和常用命令

git和svn区别

1.git是分布式版本管理,svn是集中式版本管理
2.集中式版本管理: 版本库放在中央仓库(中央服务器),首先你得从中央仓库中获取最新的版本,然后再对文件或者代码进行操作,最后再把你修改的结果推送到中央服务器中。集中式版本管理最大问题就是需要联网才能进行操作,所以提交文件的速度很大程度上取决于网速,而且在局域网和互联网速度影响也挺大的。
3.分布式版本管理: 分布式版本管理没有中央仓库,每个人的电脑都是完整的版本库,这样在你工作的时候就不需要联网,因为版本库就在你的电脑上,如果进行多人合作的话,只需要把你的修改直接推送给别人就好,这样就能直接看到别人的修改。但是在实际的开发中,很少有人会进行推送,因为你们很有可能不在一个局域网下,所以通常也会有一台机器充当中央服务器的机器,但是这个机器仅仅充当大家修改的交换,即使没有它,大家一样能够干活,只是交换和修改不方便。

创建版本库,并提交文件到本地仓库

1.配置git仓库的用户名和邮箱,相当于git用户身份

# git config --global user.name "administrator"
# git config --global user.email "[email protected]"

2.创建版本库

# mkdir testGit : 新建文件夹
# cd testGit
# git init : 创建本地版本库

在windows系统中打开显示隐藏文件的选项,可以看到.git的目录,这个目录就是git用来管理版本库的,不要随意修改.git中内容,容易破坏版本库。

3.把文件加载到暂存区中

# git add xxx  (xxx代表文件名)

4.把暂存区中的文件保存到git版本库中

# git commit -m "infomation" (双引号中的信息是你想要提交的备注信息)

版本回退

1.查看版本提交日志记录

# git log

2.回退到上一个版本

# git reset --hard HEAD^

3.当然你也可以回退到任意的某个版本

# git reset --hard HEAD~X : X表示回退到第X个版本

4.同样你可以使用git log查看各个版本代码,然后回退到某个版本

# git reset --hard 321909 : 321909代指版本号

工作区和暂存区

版本库: 工作区中有一个隐藏文件.git,这就是版本库
工作区: 就是你文件真实的文件目录
暂存区: 在你git add的时候,文件先被保存到暂存区中,然后通过git commit保存到版本库中
我们可以通过查看 git status 查看git版本库状态

撤销修改

1.文件还没有提交到暂存区和版本库中,相当于撤销工作区的修改

# git checkout -- fileName

2.假如文件已经提交到暂存区中,步骤得分2步

# git reset HEAD XXX(XXX为文件名)
# git checkout -- XXX(XXX为文件名)

远程仓库

一.先有本地库,再有远程库
1.把本地代码上传到远程库

# git remote add origin [email protected]:path/repo-name.git

2.推送代码到远程库

# git push origin master

二.假如已经有了远程库

拉取代码到本地

# git clone URL (URL为远程地址)

git分支管理

原理: 分支指针指向每一次提交内容,mater指针指向最新的提交,HEAD指向当前分支,例如最开始指向master,当创建新的分支并切换新的分支时,Head指针会指向新的分支。
合并分支的原理:假如我们在DEV分支上开发了代码,然后想要合并到master分支,最简单最直接的方法就是直接把master指针指向DEV分支最新的提交就可以了,当然这是在没有冲突的前提下,有冲突的话还得先去解决冲突。
合并分支的过程有2种模式:
1.fast forward模式
2.no Fast forward模式
这两种模式的区别是:no Fast forward合并后可以看到在历史中分支的信息,知道曾经合并过分支,而fast forward模式并不记录改信息,git默认会使用fast forward模式。

Bug分支

当你新建分支,然后这个分支用来修改Bug,但是你突然有新的任务,需要新建分支继续干其它的活,你可以先把你的bug分支所做的事情先隐藏,然后等你完成其它的任务,再来bug分支进行工作。

1.把当前工作现场‘隐藏‘起来

# git stash

2.恢复工作现场有2种方法

# git stash apply : 恢复,但是恢复后,stash内容不删除,你需要用git stash drop来删除
# git stash pop : 恢复的同时把stash内容也删除

3.查看stash内容空间

# git stash list

4.恢复指定的stash空间

# git stash apply [email protected]{0}

git标签管理

1.打一个新的标签

# git tag name

2.查看所有的标签

# git tag

默认的标签是在最新的提交上commit的,如果有时候,忘了打标签,比如现在已经是周五了,但是应该是周一打的标签没有打这么办,方法是找到历史提交的commit id,然后打上就可以了,查看历史记录。

# git log --pretty=oneline --abbrev-commit

注意: 标签不是按照时间顺序列出的,而是按照字母排序的,可以用git show tagname 查看标签信息

3.查看标签信息

# git show tagName

4.创建带有说明的标签,用-a指定标签名,-m指定说明文字

# git tag -a v0.1 -m "version 0.1 released" 3628164

5.删除标签

# git tag -d v0.1

因为创建的标签都是储存在本地,不会自动推送到远程,所以打错标签可以在本地删除

6.推送标签到远程

# git push origin tagname

7.一次性推送所有标签到远程

# git push origin --tags

8.如果标签已经推送到远程,要删除远程的标签

# git tag -d tagName : 本地删除文件
# git push origin : refs/tags/tagName : 删除远程标签

git 切换远程分支

# git branch -a  查看分支全部关联列表
# git checkout -b develop origin/develop : 切换并关联远程分支
# git checkout develop
# git branch -vv : 查看本地分支与远程分支关联情况

常用命令整理

# git init : 把当前的目录变成可以管理的git仓库,生产隐藏.git文件
# git add xxx : 把xxx文件添加到暂存区去
# git commit -m "xxx" : 提交文件-m后面是注释
# git status : 查看仓库状态
# git diff xxx : 查看xxx文件修改哪些内容
# git log : 查看历史记录
# git reset --hard HEAD^或git reset --hard HEAD~X:回退到上x版本
# cat xxx : 查看xxx文件内容
# git checkout -- xxx : 把xxx文件在工作区的修改全部撤销
# git rm xxx : 删除xxx文件
# git remote add origin https://github.com/learn/testgit : 把本地代码上传到远程仓库
# git push –u(第一次要用-u 以后不需要) origin master : 把当前master分支推送到远程库
# git clone https://github.com/learn/testgit : 从远程库中克隆
# git checkout –b dev :创建dev分支 并切换到dev分支上
# git branch : 查看当前所有的分支
# git merge dev : 把dev分支合并到当前分支中
# git branch –d dev : 删除dev分支
# git branch xxx : 创建分支
# git stash : 把当前的工作隐藏起来 等以后恢复现场后继续工作
# git stash list : 查看所有被隐藏的文件列表
# git stash apply : 恢复被隐藏的文件,但是内容不删除
# git stash drop : 删除文件
# git stash pop : 恢复文件的同时,也删除文件
# git remote : 查看远程库的信息
# git remote –v : 查看远程库的详细信息
# git log --graph --pretty=oneline --abbrev-commit : 查看分支合并的详情
# git config --global alias.co checkout : 配置别名
# git push origin tagName : 可以推送一个本地标签
# git push origin --tags : 可以推送全部未推送过得本地标签
# git tag -d tagName : 删除一个本地标签
# git push origin :refs/tags/tagName : 删除一个远程标签
# git branch -D xxx : 强行删除某个分支
时间: 2024-10-06 01:07:29

git开发使用和常用命令的相关文章

git开发流程、常用命令及工具

根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 大致是: 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上branch一个新的本地分支xname,然后checkout切换到这个本地分支上,开始开发: 开发过程中可以不断的commit到本地, 开发完成之后,把本地分支xname ,push origin到远程分支xname上,(纳尼,这个远程xname我什么时候建立的), 远程分支xname和maste

git开发流程以及常用命令

git正确开发流程1. git clone url 从某个url克隆代码到本地2. git checkout -b test 创建一个新的分支来进行操作,防止影响主分支3. 在本地进行代码修改4. git add file_name 将修改后的文件添加到工作区5. git commit -m message 将工作区的内容提交到版本库6. git status 查看仓库当前的状态7. git push origin test : test 将本地分支推送到远程版本库,如果远程没有test,会新建

Git(二)--常用命令

$ git init  从当前目录初始化 $ git clone git://xxxx  从远程仓库克隆 $ git status 确定哪些文件当前处于什么状态 $ git add 开始跟踪一个新文件 $ git diff  比较工作目录中当前文件和暂存区域快照之间的差异(修改之后还没有暂存起来的变化内容) $ git diff --cached 比较已经暂存起来的文件和上次提交时的快照之间的差异 $ git commit -m 提交 $ git log 查看提交历史 $ git remote 

svn,git的对比以及常用命令上篇

之前定制Rom,需要下载android源码,修改系统应用.android源码管理使用repo+git,下载速度快的吓人.(直接下载的话,被墙了当然慢,请忽略这个因素).感觉git更适合大型项目管理.项目经验不是非常多,个人无论大小项目,自己选择的话还是喜欢用git. 个人总结的git优点 1.分支管理非常方便 2.回退,查看历史更加方便,支持命令更多 3.速度更快 4.可以离线提交到本地库,可以离线查看log 5.... 下面参照大牛的介绍,来具体看一下git和svn的不同 参考http://s

Git的配置及常用命令

Git配置 git config --global user.name "<username>" git config --global user.email "<email>" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias

git知识总结-3常用命令原理解析

0.前言 本文主要对git常用命令的工作原理做一个详细的说明,常用命令主要包括: 1.git add git add相关命令很简单,主要实现将工作区修改的内容提交到暂存区,交由git管理. 2. git commit git commit主要实现将暂存区的内容提交到本地仓库,并使得当前分支的HEAD向后移动一个提交点. 3. git branch 关于分支,大概有展示分支,切换分支,创建分支,删除分支这四种操作. 4. git merge merge命令把不同的分支合并起来.如下图,在实际开发中

git的概念和常用命令

一.什么是git? 官方定义:git是版本控制工具. 这里的版本其实是每一次发布的代码,git会把每一次提交的代码都保存下来,并给它一个叫做"版本号"的编号.这类似于期刊出版的过程,每一次出版都有它的期号. 二.为什么使用git? git具有备份文件的功能,允许我们找到修改前的文件,可以"反悔" git具有分支机制,像写小说,可以分出几条支线.这样允许我们在开发主程序的同时,开发额外的功能.这样同样使多人开发变得简便,只有每个人开发自己的功能(支线),最后合并(连)

git的安装和常用命令

1,下载安装方法 http://jingyan.baidu.com/article/020278117cbe921bcc9ce51c.html 2,常用的命令 原文地址: http://www.admin10000.com/document/5374.html Git基本常用命令如下: git pull --rebase origin master git pull origin master mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示

小蚂蚁学习git(1)——常用命令解释

下载msysgit,它是window版本的git,在linux下最简单的方法就是使用命令: yum install git 一路默认安装即可,打开Git Bash,能够弹出一个类似cmd命令行的窗口,表示成功. 首先,需要设施用户名和邮箱作为一个标识. git    config    --global user.name "xiaomayi" git    config    --global user.email "email" 注意:git config -g