Git 学习之 Git Basics】的更多相关文章

git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今天开发的过程中遇到一个问题,A组接到开发任务要修改file文件,B组在此之前的15天为了完成自己的开发任务对file文件进行了修改,为了同步代码,B组将自己未完成的模块file文件提交到了cvs上.A对此一无所知,A组在完成开发任务后,把file文件完全上到了现网环境,报错了. 当然,避免上述问题的途径很多,…
最近在用git,但git学习曲线实在是有点高. 好在找到一个文档 https://www.atlassian.com/git/tutorial/,以下就是学习笔记吧! git init git init 在当前目录初始化一个Git仓库,包含一个 .git 目录       .git 目录就是Git版本库 当前目录为工作区 git init <directory> 在指定的目录初始化一个Git仓库, <directory> 下包含一个.git 目录 git init --bare &…
Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统地看了下廖老师的git入门教程.廖老师git入门教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000. 作为学习记录,我会跳过git的安装介绍等,也不会系统地挨个介绍使用的git命…
最近在项目中使用git了,在实战中才知道,以前学习的git 知识只是皮毛,需要重新系统的学一下,读了一本叫  Learn Git in a Month of Lunches 的书籍,这本书通俗易懂,使我对git 有了全面的认识. 在平时,我们常常听到git 和github,它俩总是一起出现,总有一种必须一起使用的感觉.实际上,git和 github 是两个不同的概念, git是一个版本管理工具,而github则是一个网站,主要用于保存代码,分享代码.它们 之间没有必然的联系,可以使用其中的任意一…
Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间. 有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来.Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支间切换起来也差不多一样快.和许多其他版本控制系统…
Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某两次更新之间的差异:以及如何从远程仓库拉数据下来或者推数据上去. 取得项目的 Git 仓库 有两种取得 Git 项目仓库的…
起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它. 关于版本控制 什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制. 如果你是位…
最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 git 进行本地文件追踪的文件状态变化.如何进行文件的修改和提交等关于本地文件操作的部分,即使用 git 进行本地仓库管理和使用的操作和方法. 注:本文主要记录作者阅读 Pro git 的前两节的笔记.部分内容为对应内容的直接翻译. 内容目录 git 基本概念 git 获取/删除仓库 git 本地操…
使用git rebase 的前提是多人协作下的分支开发,如果是单人开发,那就没有必要使用它了,这是由git rebase 的作用所决定的,git rebase 有两大作用:一个是与主分支保持同步,一个是在合并分支之前清理commit 信息.先看第一个作用. 当多人协作进行开发的时候,通常都会有一个主分支,如master, 用于合并所有人的代码.而在本地开发的时候,每一个人都会开一个分支,进行分支开发.当我们新开一个分支的时候,就意味着,选择了主分支上的一个点作为开发的起点.如下图所示, 这时,本…
============================= 修改文件后是否可以直接提交 ============================ (1) 向文件中追加一行内容  $ echo "Nice to meet yuu." >> 1.txt (2) 查看修改前后文件的差异  $ git diff (3) 将修改后的文件添加到提交任务中  $ git add 1.txt (4) 查看提交暂存区和版本库文件中的差异  $ git diff --cached  $ git…
================================================ HEAD 的重置即检出 ================================================ (1) 查看HEAD的当前指向  $ cat .git/HEAD (2) 查看当前处于的分支  $ git branch -v (3) 检出指定ID的父提交  $ git checkout f380e45 (4) 分离头指针:指的是HEAD指向了一个具体的提交ID,而不是一个引用…
================================================ 继续暂存区未完成的实践 ================================================ (1) 查看保存的进度  $ git stash list (2) 从最近保存的进度进行恢复  $ git stash pop (3) 查看将要删除的本地目录和文件  $ git clean -nd (4) 强制删除多余的目录和文件  $ git clean -fd ======…
网上有很多教程,这里我自己做下整理,省得有时忘记,有道是好记性不如烂博客! 先大概描述下Git的各种命令: git init                     #初始化 git clone                  #将远程项目拷贝到本地 git add                    # 提交文件更改(修改和新增) git commit              # 基于当前分支提交修改 git reset                  # 去除某个提交之后的一切提交记…
一.创建仓库 创建一个目录 mkdir repository cd到该目录下,初始化该版本库 git init 至此,版本库创建成功,可以在该文件夹下看到.git文件夹,ls -ah可以看到该文件夹. 二.版本管理 1.将文件或文件夹添加到版本库中进行版本控制 在工作区创建一个文件 touch readme.txt 将该文件添加到暂存区 git add readme.txt 将文件从暂存区提交到版本库 git commit -m "some comment" *工作区.暂存区.版本库…
git status 查看当前创库情况 liuzhipeng@exdroid43:~/pad/pad-test$ git status 位于分支 master 您的分支与上游分支 'origin/master' 一致. 尚未暂存以备提交的变更: (使用 "git add <文件>..." 更新要提交的内容) (使用 "git checkout -- <文件>..." 丢弃工作区的改动) 修改: PadTest2./PadAutoTest/Ui…
你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Git is a distributed version control system. Git is fr…
1 现对readme.txt作出修改,增加一行内容: Git has a mutable index called stage. Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. 2 在工作区新添加一个文件:LICENSE文本文件(内容随便写) 3 通过git status 查看当前的状…
git diff操作 git diff用于比较差异: git diff 不加任何参数 用于比较当前工作区跟暂存区的差异 git diff --cached 或者--staged 对比暂存区(git add 之后)和本地仓库(git commit 之后) git diff HEAD 对比工作区(未 git add)和本地仓库库(git commit 之后) git diff 分支名 查看当前分支跟指定的分支的差异 git diff 分支名1 分支名2 查看两个指定分支(已提交的)的差异,分支2 跟…
git的标签操作 git标签操作 git tag 不加任何参数 表示显示标签(按字母序) 非按时间 git tag 标签名 默认是给最近一次提交打上标签 git tag 标签名 commitId 给响应的提交打上标签 git show 标签名 显示该标签相关的那次提价的相关信息 git tag -d 标签名 删除该标签 git checkout tag 即可切换到指定tag,这里的tag为标签名 git push 远程分支名 标签名 把某个标签(必须是本地已存在的,否则推动失败) 推送到远程分支…
git reset 操作 git reset git reset HEAD 文件名 移除不必要的添加到暂存区的文件 git reset HEAD^ 或者 commitid 去掉上一次的提交 git reset --soft HEAD^ 修改上次提交的信息,即commit -m "修改这里的内容" git reset --soft 只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变 git reset --mixed (默认选项)将HEAD指向指定的提交,暂存区的内容随之改变…
git的文件状态 用于查看git的状态 git status 用于git文件的删除操作 git rm 如果只是 git rm --cache 仅删除暂存区里的文件: 如果不加--cache 会删除工作区里的文件 并提交到暂存区 文件检出 git checkout 直接加文件名 从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择覆盖; 加了[分支名] +文件名 则表示从分支名为所写的分支名中拉取文件,并覆盖工作区里的文件; 文件状态 新建文件--->Untracked 使用add命令将新…
回忆一个电脑多账户问题 之前也说了,如果使用ssh登陆的话,一个电脑就只能登陆一个账号了,不像通过凭据可以切换(但是其实也可以每次去生成新的公钥和私钥,只要你不嫌麻烦) 再次补充: ssh-keygen -t rsa -C "邮箱" 到github或者码云上选择: clone or download 把原来的use https改成use ssh 创建一个专门的use ssh的本地库 然后它(git)自动就会去家目录下找.ssh文件夹找到私钥 进行登陆了,就不需要我们填密码了!(win7…
git在同步到远程库 关于git中多个用户切换的事情: 完全使用账户密码策略连接远程库: 之前一直尝试在本地切换多个用户,发现一直不行,很奇怪?后面发现必须要去win10的凭据管理器删除当前git的凭据. 以上是输入账户密码,进行凭据校验的情况: 完全使用ssh免登陆策略进行远程库连接: 如果是要通过ssh方式登陆的话,建议还是不要多用户切换了,因为ssh方式免登陆校验的话,每次都要去生成新的ssh密钥去切换,着实太过于麻烦了. 配合账户密码策略和ssh两种策略管理两个账户: 之前还想过,一个用…
我们难免会因为种种原因执行一些错误的commit / push,git提供了revert命令帮助程序员修复这样的错误. 举个例子,下图是git commit 的历史记录 git revert 命令会通过一个新的commit 来使仓库倒退一个commit,在上例中,如果程序员想要revert 最新的那次commit (Updated to Rails 2.3.2 and edge hoptoad_notifier) $ git revert HEAD Finished one revert. [m…
一.windows.linux平台安装 windows平台安装简单方便,到git官网上下载exe安装包即可,会把git bash shell给你安装好,你到命令窗口便可直接使用. linux平台安装,最简单的使用yum来进行安装,会帮你解决依赖问题. 我这里是使用源码进行安装的 二.安装教程 首先,你需要给你的linux安装好gcc yum -y install gcc yum -y install gcc-c++ yum install make 然后,你需要安装git安装的必须依赖:zlib…
参考资料: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 mkdir myfirstgit    创建文件夹cd myfirstgit    进入文件夹git init  将当前目录初始化为Git可以管理的仓库 在文件夹下创建一个 readme.txt git add readme.txt 把文件添加到暂存区git commit -m "wrote a readme file&…
搭建环境 服务器端:CentOS 6.5   IP:192.168.101.129 客户端:CentOS 6.5 . Windows 服务器端: 创建repository版本库,例如/srv/test.git git init --bare     创建一个裸仓库,没有工作区,目的是不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾 把要访问的客户端公钥(id_rsa.pub)追加到服务器端~/.ssh/authorized_keys文件中 客户端的公钥和私钥位于…
忽略特殊文件 在工作区创建.gitignore文件,编写内容 # Windows: Thumbs.db ehthumbs.db Desktop.ini # Python: 忽略Python编译产生的.pyc..pyo.dist等文件或目录 *.py[cod] *.so *.egg *.egg-info dist build # My configurations: db.ini deploy_key_rsa 然后add和commit该文件 此后当工作区出现.gitignore中类型文件时,git…
首先感谢segmentfalut上的朋友对我帮助. 首先:查看你是否有../ssh 这个文件:怎么查看:找到你的git安装目录,在安装目录下查看是否./ssh,以我的为例: 在C盘/Users/11/下面: 看到没有.ssh文件: 如果你已经有了这个文件,可以跳过直接区文章末尾:开始创建:(用 git bash Here 进行下面的操作) 第一步配置你的用户信息: 命令: git config --global user.name "Xyd1995" //配置你的账户名字 git co…
冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动merge,repo sync会自动rebase,所以git pull和repo sync也会产生冲突.当然git rebase就更不用说了. 冲突的类型 逻辑冲突 git自动处理(合并/应用补丁)成功,但是逻辑上是有问题的. 比如另外一个人修改了文件名,但我还使用老的文件名,这种情况下自动处理是能成…