Git使用说明

Git是流行的分布式版本控制系统,可以方便的管理多人协作的项目并避免了集中式版本控制系统对服务器的依赖。

简介

版本库(repository)是一个由Git管理的目录,Git将跟踪工作目录下文件的修改并在需要时还原.

在工作目录下.git子目录则维护着版本库 .

Git维护三个组件:

  • 工作目录: 保存实际文件
  • 暂存区 : 保存尚未提交的修改
  • 版本库: 保存已提交的修改
  • HEAD: 指向最后一次提交后的结果(checkout 命令的主要功能就是操作HEAD)。

Git将每次提交的修改串成一条时间线,称为一个分支,Git中主分支被称为master.

分支系统允许多人同时修改项目. 在进行重大改动时, 分支将其与master分隔便于管理和保护.

Git是分布式版本控制系统,同一个Git仓库可以分布到不同的机器上. 远程仓库可以让用户读取或者更新其它机器上的版本库.

常用指令

  • $ git init 创建本地仓库
  • $ git config配置
  • $ git log查看日志
  • $git log --graph 显示分支图
  • $ git add <file> 添加文件
  • $ git add . 添加所有文件
  • $ git rm <file> 删除文件
  • $ git rm --cached [file] 从暂存区删除文件,不从工作区删除
  • $ git mv [file-original] [file-renamed] 重命名
  • $ git commit -m <msg> 提交修改
  • $ git commit --amend 重新进行上一次提交
  • $ git diff 查看工作区所有文件的更改
  • $ git diff file 查看指定文件的更改

撤销

  • $ git checkout -- [file] 恢复暂存区的指定文件到工作区
  • $ git checkout [commit] [file] 恢复某个commit的指定文件到暂存区和工作区
  • $ git checkout .恢复暂存区的所有文件到工作区
  • $ git reset [file] 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
  • $ git reset --hard重置暂存区与工作区,与上一次commit保持一致
  • $ git reset [commit] 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
  • $ git reset --hard [commit] 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
  • $ git reset --keep [commit]重置当前HEAD为指定commit,但保持暂存区和工作区不变
  • $ git revert [commit] 新建一个commit,用来撤销指定commit,后者的所有变化都将被前者抵消,并且应用到当前分支

标签

  • $ git tag 列出所有tag
  • $ git tag [tag] 在当前commit新建一个tag
  • $ git tag [tag] [commit] 在指定commit新建一个tag
  • $ git tag -d [tag] 删除本地tag
  • $ git push origin :refs/tags/[tagName] 删除远程tag
  • $ git show [tag] 查看tag信息
  • $ git push [remote] [tag] 提交指定tag
  • $ git push [remote] --tags 提交所有tag
  • $ git checkout -b [branch] [tag] 新建一个分支,指向某个tag

分支命令

  • $ git branch 查看本地分支
  • $ git branch -r查看远程分支
  • $ git branch [name] 创建本地分支,注意新分支创建后不会自动切换为当前分支
  • $ git checkout [name] 切换分支
  • $ git checkout -b [name]创建新分支并立即切换到新分支:
  • $ git branch -d [name] 删除分支

-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。

如果想强制删除一个分支,可以使用-D选项

  • $ git merge [name]合并分支,将名称为[name]的分支与当前分支合并

远程仓库

  • $ git clone git://github.com/jquery/jquery.git 克隆远程仓库
  • $ git pull [remoteName] [localBranchName] 拉取远程分支
  • $ git checkout -b [localBranchName] [remoteName]拉取本地不存在的远程分支
  • $ git push [remoteName] [localBranchName] 推送更改到远程分支
  • $ git push [remoteName] [localBranchName] --force 强制推送,将远程分支的所有提交设置为和本地分支同样的状态。可能彻底删除远程分支上的提交。
  • $ git remote -v查看远程仓库
  • $ git remote add [name] [url] 添加远程仓库
  • $ git remote rm [name] 删除远程仓库
  • $ git remote set-url --push [name] [newUrl] 修改远程仓库

git简易指南

git指令列表

配置SSH

在与远程仓库通信时可以使用Https和ssh两种方案, Https通过账号密码认证用户使用不便,SSH由系统保管私钥更为方便.

首先在系统中安装ssh工具, 生成sshkey:

ssh-keygen -t rsa -C "[email protected]"

添加sshkey到ssh-agent:

ssh-add ~/.ssh/id_rsa

查看公钥:

cat ~/.ssh/id_rsa.pub

将公钥添加到远程仓库.

使用ssh连接登录:

ssh -T [email protected]

注意远程仓库必须使用ssh才可以正常的使用ssh-key进行操作, 使用https的仓库无法使用ssh-key认证。

Git OSC官方ssh-key使用说明

设置ssh key后无使用ssh进行push的解决方案

时间: 2024-10-09 12:23:30

Git使用说明的相关文章

git 使用说明

1. 安装 git for windows http://msysgit.github.io/ 2. 创建新仓库 新建文件夹,然后执行  git init 即可 3. 检出仓库 git clone /path/to/repository  创建一个本地仓库的克隆版本 git clone [email protected]:/path/to/repository  针对远程服务器上的仓库 4. 工作流 你的本地仓库由git维护的三棵“树”组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(

git使用说明之中关于 git reset 的使用方法,和其主要插件的用法;

在阅读这篇博文之前,请关注上一篇我的关于 git diff  命令的详细说明,只有这样才能对 git reset 的命令有详细的感悟: 先了解一下,git reset 到底什么吧: 版本控制系统的一个重要任务就是提供撤销和恢复某一阶段工作的功能. git-reset 命令就是为这样的任务而准备的,它可以将项目当前版本定位到之前提交 的任何版本中. git-reset 命令有三个选项:--mixed . --soft 和 --hard .我们在日常使用 中仅使用前两个选项:第三个选项由于杀伤力太大

2017.5.24 Git使用说明初级

1.初次登陆GitBashgit config --global user.name"xcxz1994"git config --global user.~email"github注册邮箱" 2.cd到要创建库的文件夹通过命令 git init 把这个目录变成git可以管理的仓库 3.添加文件到git库第一步:使用命令 git add readme.txt添加到暂存区里面去 第二步:用命令 git commit告诉Git,把文件提交到仓库git commit -m

项目管理工具之Git使用说明

1.下载Git客户端工具 http://msysgit.github.com/ 2.安装msysgit 下一步 同意GNU协议 选择安装位置 选择TrueType  Front,下一步 不创建启动文件夹 默认Git Bash,就可以了 选择默认的Checkout Style 安装完成了 3.配置本地的Git 就这样安装好msysgit后,就可以开始配置开发环境了,在你的工作目录建立一个新的文件夹Git,比如我的 选择Git文件夹,右键,选择Git Bash Here,会弹出shell命令行界面

VS团队资源管理器(VS自带git)使用说明_使用VS自带git推送到远程存储库

使用git存储库是相当好的习惯,每次码完代码就推送到远程存储库,万一不小心把本地代码搞废了,或者硬盘坏了,或者中了勒索病毒,本地代码丢失了还能从服务器上下载.我曾经就中了一次勒索病毒,本地电脑上的所有文档,数据库全部被加密无法打开. 说到git,很多大佬都直接使用dos代码推送,但对于大众菜鸡还是使用可视化操作方便些. 如果没有使用visual studio,推荐使用乌龟:tortoisegit,可视化操作非常方便. 但如果使用vs,就建议使用自带的团队资源管理器,每次码完代码,鼠标点一下推送到

Linux下git安装配置

一.Linux下git安装配置 2013-07-28 20:32:10|  分类: 默认分类 |  标签:linux  git  server  |举报|字号 订阅 http://abomby.i.sohu.com/blog/view/168755260.htm http://www.linuxidc.com/Linux/2011-12/48555.htm Git是分布式的版本控制系统,实际上是不需要固定的服务器的,Git与svn的最大区别是,它的使用流程不需要联机,可以先将对代码的修改,评论,

git ,创建生成 making git-svn work on mac tiger

http://www.mikeheijmans.com/2008/04/make-git-svn-work-on-mac-osx-tiger/ After a few hours of googling and pull some hair out, I have finally figured out how to make git-svn work on Mac OSX 10.4 Tiger. If you have installed git on your Mac using mac-p

git从github下载代码

Github作为远程仓库的使用详解  http://blog.csdn.net/djl4104804/article/details/50778717 centos local:        通过git remote来设置远程仓库地址:        git remote add origin https://github.com/coder-pig/SimpleTea.git            假如你想修改远程仓库地址,比如你把仓库托管换成了[email protected],你需要修改

掌握Git撤销操作,随心所欲控制文件状态

本文主要讨论和撤销有关的 git 操作.目的是让读者在遇到关于撤销问题时能够方便迅速对照执行解决问题,而不用去翻阅参数繁多的 git 使用说明. 一开始你只需了解大致功能即可,不必记住所有命令和具体参数.事实上,如果没有经过反复多次的操作,这些没血没肉的命令是很难被全部记清楚的,就算现在记住了,也会很快遗忘(天赋异禀,过目不忘者除外).建议读者在遇到特定问题时对照场景操作,多用几次自然就记住了. 首先,我们再看看上一篇文章中的这张图: git 命令和文件状态转换 这张图能让你一目了然的看到各种命