`

git基础

git 
阅读更多


参考:http://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9

首次创建提交:
cd到项目下,执行以下命令
touch README.md
git init
git add README.md
【git add在提交之前,Git有一个暂存区,可以放入新添加的文件或者加入新的改动 】
git commit -m""
【 提交已经被add进来的改动】
git remote add origin http://git.oschina.net/w136/company
git push -u origin master


【常见报错】
①//提交以后,准备推送的时候,却出了问题
error: 无法推送一些引用到 'git@github.com:joesGit15/learngit'
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
//根据提示,我们需要git pull origin master这个命令,来查看冲突内容,有的时候,它会自动合并,有的时候需要手动来解决冲突(按照提示来就可以了)
这里要注意:{进入文档后,Ctrl+X离开,不要Ctrl+Z强制退出}
②如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!





【同步到服务器】
同步到服务器前先需要将服务器代码同步到本地
  命令: git pull
如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。
  命令:git checkout -- <有冲突的文件路径>

同步到服务器
命令: git push origin  <本地分支名>
如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。


第一次克隆:git clone +网址
拉取:git pull
提交前先commit到本地git库,再拉取远程代码(查看下改动和冲突),之后再push到远程


Git 全局设置:
git config --global user.name "wangwang"
git config --global user.email "1932253863@qq.com"

创建 git 仓库:
mkdir clean
cd clean
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://git.oschina.net/w136/clean.git
git push -u origin master

已有项目?
cd existing_git_repo
git remote add origin https://git.oschina.net/w136/clean.git
git push -u origin master


分支:
git checkout -b branch表示创建并切换分支上
A) 创建分支git branch branch
B) 切换分支git checkout branch

 

A)查看远程分支:git branch -a 命令可以查看所有分支

B)删除远程分支:git branch -r -d xxxxx 删除远程分支

B+)删除远程分支git push origin :serverfix   (删除serverfix 分支)--push空到远程分支即为删除

---创建分支:

①(本地分支:git branch -b newbranch //创建并切换到newbranch分支下)

②(远程分支:git push origin newbranch //推送到远程仓库的newbranch分支下,没有就创建)
B)查看本地分支:git branch 查看本地分支

C)删除本地分支:git branch -d xxxxx 删除本地分支





分支合并
首先切换到主分支master:git checkout master
然后执行合并操作:git merge develop
如果有冲突,会提示你,调用git status查看冲突文件,vi进入或者直接编辑
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git commit 提交更改。




git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id

【本地代码库回滚】:

git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除

git reset --hard HEAD~3:将最近3次的提交回滚

 

【远程代码库回滚】:
这个是重点要说的内容,过程比本地回滚要复杂
应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
操作步骤:
1、git checkout the_branch
2、git pull
3、git branch the_branch_backup //备份一下这个分支当前的情况
4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id
5、git push origin :the_branch //删除远程 the_branch
6、git push origin the_branch //用回滚后的本地分支重新建立远程分支
7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支
如果使用了gerrit做远程代码中心库和code review平台,需要确保操作git的用户具备分支的push权限,并且选择了 Force Push选项(在push权限设置里有这个选项)
另外,gerrit中心库是个bare库,将HEAD默认指向了master,因此master分支是不能进行删除操作的,最好不要选择删除master分支的策略,换用其他分支。如果一定要这样做,可以考虑到gerrit服务器上修改HEAD指针.不建议这样搞

参考自:http://m.blog.csdn.net/blog/lihongli528628/45483463


新项目参与:

git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:
1. 找一个干净目录,假设是git_work
2. cd git_work
3. git clone http://myrepo.xxx.com/project/.git ,这样在git_work目录下得到一个project子目录
4. cd project
5. git branch -a,列出所有分支名称如下:
remotes/origin/dev
remotes/origin/release
6. git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
7. git checkout -b release origin/release,作用参见上一步解释
8. git checkout dev,切换回dev分支,并开始开发。

分享到:
评论

相关推荐

    Git基础知识相关资料汇总

    资源名称:Git基础知识相关资料汇总资源目录:【】15分钟学会Git【】Git-branching-model【】git工作原理理解【】git简易指南【】ProGit资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    git基础.md 基础学习资料

    ## Git基础原理与使用 ### Git底层命令 #### `git ls-files -s` - **用途**:列出暂存区中的文件列表。 - **应用场景**:当你想要了解哪些文件已经被添加到暂存区中,但还未进行提交时,该命令非常有用。 #### `...

    git基础(git服务器搭建+git教程+git廖雪峰)

    ### Git基础概念 1. **仓库(Repository)**:存储项目所有版本信息的地方,每个Git仓库都有一个HEAD指针指向当前分支。 2. **工作目录(Working Directory)**:用户实际编辑代码的地方,包含了项目的原始文件和....

    《git基础知识》PPT课件.ppt

    Git 基础知识 Git 是一个分布式版本控制系统,它不同于集中式版本控制系统 SVN。Git 的优势在于上传下载速度快、异地协同工作、现场版本控制、更好的提交列表、更好的差异比较、工作进度保存、作为 SVN 前端实现...

    crossin-Git基础系列

    "crossin-Git基础系列-12"可能是指一个关于Git基础教程的第十二部分,由Crossin主讲。在这个系列中,我们可能会深入学习Git的核心概念和常用命令。 1. Git安装与配置: 在开始使用Git之前,你需要在计算机上安装...

    Git基础.rar

    这份"Git基础.rar"压缩包包含了一个名为"Git基础.xmind"的文件,很可能是用Xmind创建的Git基础知识的思维导图。通过这个导图,我们可以学习和回顾Git的基础概念、命令以及工作流程。 首先,Git的核心概念包括仓库...

    git基础知识整理.pdf

    Git的常用命令包括`git init`用于初始化新的Git仓库,`git clone`用于复制远程仓库,`git add`用于将更改添加到暂存区,`git commit`用于提交更改到本地仓库,`git push`用于将本地更改推送到远程仓库,`git pull`...

    Git基础教程.docx

    Git 基础教程 Git 是一个分布式版本控制系统, Allow 多个开发者在同一个项目上进行协作。下面是 Git 基础教程的知识点总结: 一、Git 下载安装 Git 下载安装可以通过网上搜索找到下载安装包,例如 Windows ...

    Git 基础培训1

    Git是分布式版本控制系统,...以上只是Git基础命令的概述,实际使用中,还需要结合实际场景学习更多高级用法,如解决合并冲突、使用工作流等。理解并熟练运用这些命令,你就能更好地利用Git进行项目管理和协同开发。

    新人git 基础教程 大全

    Git基础教程大全 版本控制是软件开发过程中的一种管理技术,用于追踪和记录文件、目录或项目的修改历史,方便查看更改历史记录,备份以便恢复以前的版本。版本控制的主要目的是为了在多人协同开发项目时,能够追踪...

    Git基础知识及常用场景,适合开发人员和初学者.docx

    ### Git基础知识及常用场景 #### 一、Git简介 **Git**是一种先进的分布式版本控制系统,由Linus Torvalds在2005年为了更好地管理Linux内核开发而创建。Git的设计初衷是为了满足大规模项目的版本控制需求,因此它在...

    Git基础知识及面试题

    Git基础知识及面试题涵盖了Git的原理、操作、代码托管平台以及在IDEA中的应用,这些都是面试和日常工作中频繁涉及的内容。 首先,Git的核心概念是分布式版本控制。与集中式版本控制系统如SVN不同,Git的每个副本都...

    git基础知识总结大全

    1.git的下载和安装 2.创建远程个gitHub仓库 3.git创建本地版本库 4.上传项目到仓库中 5.从gitHub仓库下载项目到本地仓库

    git基础命令行指令

    ### Git基础命令行指令知识点详解 #### Git简介与特点 Git是一种分布式的版本控制系统,用于追踪计算机文件的变化并协调多个用户间的协作。相比于其他版本控制系统(如SVN),Git具有以下显著特点: - **基于文件...

    git基础教程.docx

    了解和掌握这些Git基础操作,对于协同开发和版本控制至关重要。随着熟练度的提高,你还可以学习更高级的Git技巧,例如交互式添加(`git add -p`)、撤销提交(`git reset`)、解决合并冲突等,以提升工作效率。

    Git基础课程.pdf

    本知识点将对给定文件中的Git基础课程内容进行详细介绍。 首先,课程中提到了版本控制系统的基本概念,包括集中式版本控制系统和分布式版本控制系统。集中式版本控制系统,如CVS、SVN、VSS等,依赖于中央服务器进行...

    git.md git基础知识以及详细使用方法

    Git是一个版本管理控制系统(缩写VCS) * 可以在任何时间点,将文档的状态作为更新记录保存起来 * 也可以在任何时间点,将更新记录恢复回来。

    Git基础入门学习教程

    ### Git基础入门学习教程知识点详解 #### 一、版本管理工具概念 版本管理工具是一种用于跟踪文件更改历史的软件,特别是在软件开发过程中,它能够帮助开发者有效地管理代码的不同版本,以便于追踪更改、恢复旧版本...

    git详细教程,包括Git 基础知识、安装与配置、基本操作、高级用法

    Git 基础知识: 版本控制: 管理代码的历史记录,跟踪更改。 分布式架构: 每个开发者拥有完整的代码库和历史记录。 快照管理: Git 通过保存每次提交的快照,而非简单的差异,来管理代码。 安装与配置: 安装 Git: 在...

Global site tag (gtag.js) - Google Analytics