`
jaychang
  • 浏览: 728184 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

Git使用笔记

 
阅读更多

 

 

下载与安装

TortoiseGit官网下载地址:http://code.google.com/p/tortoisegit/
msysGit官网下载地址:http://msysgit.github.com/
先安装msysGit,再安装TortoiseGit

创建新仓库
1 git init
克隆仓库

克隆本地仓库

1 git clone /path/to/repository

克隆远程仓库

1 git clone username@host:/path/to/repository
工作流

本地仓库由 git 维护的三棵“树”组成。第一个是工作目录,它持有实际文件;第二个是缓存区(Index),它像个缓存区域,临时保存改动;最后是HEAD,指向最近一次提交后的结果。

添加与提交

把计划要改动的文件添加到缓存区,这样git就会跟踪改动

1 git add filename

使用如下命令提交改动

1 git commit -m "提交的信息"

现在,改动已经提交到了HEAD,但是还没有到达远程仓库。

推送至远程仓库

把本地仓库的改动推送至远程仓库

1 git push origin <branch>

如果还没有克隆现有仓库,并欲将的仓库连接到某个远程服务器,可以使用如下命令添加:

1 git remote add origin <server>

如此就能够将改动推送到所添加的服务器上去了。

从远程仓库更新代码到本地

查看远程仓库地址

1 git remote -v

从远程获取最新版本到本地:

1 git fetch origin maste

把远程下载下来的代码合并到本地仓库,远程的和本地的合并(这一步对于新手容易忽略):

1 git merge origin/master

比较本地的仓库和远程参考的区别:

1 git log -p master.. origin/master
分支

分支是用来将特性开发绝缘开来的。在创建仓库的时候,master是“默认的”。在其他分支上进行开发,完成后再将它们合并到主分支上。

创建一个叫做“feature_x”的分支,并切换过去:

1 git checkout -b feature_x

切换回主分支:

1 git checkout master

再把新建的分支删掉:

1 git branch -d feature_x

除非将分支推送到远端仓库,不然该分支就是不为他人所见的:

1 git push origin <branch>
更新与合并

要更新本地仓库至最新改动,执行:

1 git pull

要合并其他分支到当前分支(例如 master),执行:

1 git merge <branch>

两种情况下,git都会尝试去自动合并改动。不幸的是,自动合并并非次次都能成功,并可能导致 冲突(conflicts)。 这时候就需要修改这些文件来人肉合并这些冲突(conflicts)了。改完之后,需要执行如下命令以将它们标记为合并成功:

1 git add <filename>

在合并改动之前,也可以使用如下命令查看diff信息:

1 git diff <source_branch> <target_branch>
标签

在软件发布时创建标签,是被推荐的。这是个旧有概念,在SVN中也有。可以执行如下命令以创建一个叫做 1.0.0 的标签:

1 git tag 1.0.0 1b2e1d63ff

1b2e1d63ff为想要标记的提交ID的前10位字符,当然也可以是少几位,只要它是唯一的。使用如下命令获取提交ID:

1 git log
替换本地改动

假如做错事了,可以使用如下命令替换掉本地改动:

1 git checkout -- <filename>

此命令会使用HEAD中的最新内容替换掉工作目录中的文件。已添加到缓存区的改动,以及新文件,都不受影响。 假如你想要丢弃所有的本地改动与提交,可以到服务器上获取最新的版本并将本地主分支指向到它:

1 git fetch origin
2 git reset --hard origin/master
有用的贴士

内建的图形化 git:

gitk
彩色的 git 输出:

1 git config color.ui true

显示历史记录时,只显示一行注释信息:

1 git config format.pretty oneline

交互地添加文件至缓存区:

1 git add -i
分享到:
评论

相关推荐

    git使用笔记.md

    git使用笔记.md

    Git使用笔记1

    在本篇Git使用笔记中,我们将重点关注如何创建Git版本库,并检查版本库是否已经成功建立。 ### 1. 创建Git版本库 #### 1.1 创建普通目录 在开始之前,确保你已经在计算机上安装了Git。你可以通过命令行工具(如...

    git使用笔记1

    在Git使用笔记1中,我们主要关注如何操作Git,包括删除和恢复文件,克隆和更新Git仓库,以及进行基本的Git配置和文件管理。 首先,删除文件在Git中可以通过`git rm`命令实现,如`git rm aa.c`将删除aa.c文件。如果...

    GitLearning(Git使用笔记)

    新手学习Git和Github快速入门

    git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记

    根据提供的标题、描述、标签及部分内容,我们可以梳理出关于Git的基本使用方法以及分支管理和冲突解决的相关知识点。 ### Git基础知识 #### 创建与初始化仓库 - **`mkdir`**: 用于创建一个新的目录。例如,如果你...

    Git开发操作流程v1.0 Git使用笔记 git常用命令 git常见问题

    此外,将本地项目上传到Git服务器,首先在服务器上创建仓库,然后使用`git clone`命令克隆仓库。如果遇到密码问题,可能需要配置SSH密钥,将公钥`liukun.pub`复制到服务器的key目录中。 总的来说,Git提供了一套...

    git 教程笔记 git 教程笔记 git 教程笔记 git 教程笔记

    git 教程笔记 git 教程笔记 git 教程笔记

    git学习笔记(git学习笔记).md

    git学习笔记(git学习笔记).md

    HTML CSS JS 学习、git-笔记.zip

    HTML CSS JS 学习、git-笔记HTML CSS JS 学习、git-笔记 HTML CSS JS 学习、git-笔记HTML CSS JS 学习、git-笔记 HTML CSS JS 学习、git-笔记HTML CSS JS 学习、git-笔记 HTML CSS JS 学习、git-笔记HTML CSS JS ...

    git尚硅谷笔记.pdf

    - **Hash算法**:Git使用SHA-1哈希算法来唯一标识文件和提交记录,确保数据的一致性和完整性。 - **版本管理机制**: - **集中式版本控制(SVN)**:每个版本只保存修改部分,通过组合这些修改来重构完整版本。 - **...

    GIT笔记GIT笔记GIT笔记GIT笔记

    这篇笔记将深入探讨Git的基础知识、核心概念以及常用命令,帮助你更好地理解和使用Git。 一、Git的基本概念 1. 仓库(Repository):Git仓库是存储项目所有文件及其历史版本的地方。你可以创建本地仓库,也可以在...

    git学习笔记.zip|git学习笔记.zip

    在“git学习笔记”中,我们通常会涵盖以下几个核心知识点: 1. **Git安装与配置**:首先,我们需要了解如何在不同的操作系统(如Windows、MacOS或Linux)上安装Git,并设置用户信息,包括用户名和邮箱,这些信息会...

    linux-git操作笔记和总结

    git操作笔记和总结

    git分享笔记

    根据给定的文件信息,本篇git分享笔记主要涵盖了以下几个方面的知识点: 1. 版本控制系统的概念及分类: - 文档首先提到了集中式版本控制系统,这类系统中,版本库集中存放在中央服务器上。使用者在自己的电脑上...

    Git学习笔记.pdf

    Git是一款广泛使用的分布式版本控制系统,由Linus Torvalds于2005年发起,旨在快速高效地处理项目中源代码的变更。版本控制系统的主要目的是帮助团队协作,追踪文件变更历史,以及能够在不同版本之间进行切换。版本...

    GIT学习笔记

    GIT学习笔记

    git整理笔记.docx

    Git 是一个分布式版本控制系统,由著名的程序员林纳斯·托瓦兹为管理Linux内核开发而创建。Git 的设计目标是速度、简单性、对非线性开发的支持以及完全分布式的特性,这使得它能有效处理大规模项目,如Linux内核。 ...

    Git.xmind 笔记

    Git.xmind 笔记

    Git课堂笔记思维导图

    git的课堂笔记导图资源,具体模块分为基本操作、分支管理和github的使用

Global site tag (gtag.js) - Google Analytics