前段时间看下Git这种分布式版本管理技术,感觉比SVN,VSS之类的VCS有很多可取之处,下面介绍了下Git如何在Widows下使用,以及一些Git常用操作基本命令;
--------------------------------------------windows 下使用git-----------------------------------------------
1.下安装git for window
http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
安装时选择git for linux , 可以使用linux命令
2.新建GitPro项目目录
3.git环境配置
git config --global user.name "your name"
git confit --global user.email *******@qq.com
每次git提交时候都会引用这料条信息,说明是谁提交了更新,所以会随更新内容一起被永久的纳入到历史记录中
4.初始化项目GitPro
在GitPro目录下执行 git init 命令
此时会在GitPro 生成.git文件夹
5.增加要变更文件
git add . (.点号表示文件下所有的文件)
git add Test.java 表示具体增加Test.java文件 "暂存状态"
6.在5的步骤上执行
git commit -m 'first commit' 进入到已 "保存状态"
7.将代理商传送到远程仓库中
首先到https://bitbucket.org/ 注册账号 并且新建私有仓库(这里选择了bitbucket作为托管站点)
如果不选择bitbucket,可以从https://git.wiki.kernel.org/index.php/GitHosting 选择一个具有托管服务的站点
8.使用ssh方式上传 (上传之前)
ssh-keygen -C "*******@qq.com" -t rsa
(-C提供一个新注释 以后可以用 -c 选项修改)
( -t 选项指定,如果没有指定则默认生成用于SSH-2的RSA密钥)
9.将公钥关联到bitbucket新注册的账号上
打开https://bitbucket.org/ 进入进入到 Account settings设置中 的SSH keys功能菜单中
将本地公钥文本中的内容复制上去
10.准备提交到远程仓库中(继续完成6步骤接下来的内容)
git remote add origin git@gitbucket.org:用户名/远程仓库名称.git (增加一个远程仓库配置)
如果此步骤出现"已经存在"的错误 ,说明已经配置了远程仓库,如需要删除重新配置可以执行:git remote rm origin
11.push代码到服务器上
git push origin master (代码进入到"保存状态",即提交成功)
12.使用clone方式
git clone git@bitbucket.org:用户名/仓库名称.git (下载远程代码到本地)
生成.git目录,并且下载所有数据,取出最新版本的文件拷贝
git clone git@bitbucket.org:用户名/仓库名称.git selfDefinedGit 使用自定义项目名称
---------------------------------------介绍下常用的命令---------------------------------------
1.git status
查看文件处于什么状态
2.git add
对于修改过的文件,此时没有放入到暂存区,需要使用git add命令
这是个多功能命令:
i:跟踪新文件
ii:将跟踪文件放入到暂存区
iii:合并时将有冲突文件标记为已经解决状态
3.git diff
git diff 修改与暂存的差异 或者修改与上次提交的差异
git diff --cached 修改与上次提交的差异
4.git commit
git commit -a 将所有已经跟踪过的文件暂存起来一并提交 跳过git add 加入暂存区域的步骤
git commit --amend 撤销提交 重新编辑
如:git commit -m 'commit'
git add test.txt
git commit --ammend 第二个命令修正了第一个提交内容
5.git rm
彻底删除文件
git rm 文件名 再提交时候将移除文件状态 如果删除之前已经改过,需使用git rm -f 文件名 强制删除
仓库中删除,也可以git reset HEAD fileName 来撤销对文件的修改
6. .gitignore的使用
为了忽略不需要提交的文件 在git项目根目录下 新建.gitignore文件
echo 忽略的文件名 >> .gitignore
echo .gigignore>>.ginignore 将本身也加入到此文件中
7.git mv
git mv source.txt target.txt
相当于运行
mv source.txt target.txt
git rm source.txt
git add target.txt
8.git log
查看日志
gitk 显示图形化界面
9.git branch
新建分支 : git branch testing
切换到testing分支中: git checkout testing
删除分支:git branch -d testing
git branch -v 每个分支最后一次提交的信息
git branch --merged 查看哪些分支已被并入当前分支
git branch --no-merged 尚未合并的分支 此时如果需要删除分支 需要使用 git branch -D testing 来删除
10.git checkout
git checkout branchName 切换到分支
git checkout -b branchName 新建分支 并且切换到分支
11.git remote
git remote 显示所有远程仓库
git remote add 仓库名 地址 -->增加远程仓库
git remote show origin 查看远程仓库的详细信息
git remote rename iss34 iss35 重新命名,将iss34换成iss35
git remote rm iss35 删除远程仓库
12.git push
git push origin 分支名/master 向服务器上提交分支/mster (远程仓库分支名与本地一致)
git push origin clientBranch:serverBeanch 提取自己的分支更行到服务器上的分支 (支持重命名形式)
git push origin :serverBranch 删除远程分支
13.git fetch
git fetch origin 从远程获取分支 此时不能本地编辑该远程仓库,但是可以从远程分支的基础上分化一个
新的分支来:
git checkout -b clientBranch origin/serverBranch (有跟踪分支的作用,可以在此分支中,直接使用git push,git pull等命令)
git meger origin/serverBranch 下载远程仓库分支并合并到当前分支
14:git rebase
git checkout branchName --> git rebase master(衍入到master分支) -->git checkout master(回到
要被 衍入的分支)-->git merge branchName(进行fast merge移动指针,快速合并) 将在分支
branchName中的改变在master分支中重现
git rebase --onto master server client (--onto选项来把他们在master分支衍入,检索出client分支,
找出client分支和server分支的共同祖先之后的变化,在master分支上重演)
git rebase [主分支][特性分支] 命令会先检出特性分支 然后再主分支上重演: git rebase master server
(注:衍合会带来麻烦,如果把衍合当成一种在推送之前清理提交历史的手段,而且仅仅衍合那些永远不
会公开的commit,那就不会有任何问题)
15.git show
git show commitId 查看对象commitId下面的提交内容(commitId不必须写全)
文章主要是给初学者写的,如果想深入了解下Git的原理或者想知道如何架构Git服务器,可以阅读《Pro Git》这本书,非常详细的介绍了Git。
相关推荐
### Git分布式版本控制系统权威指南知识点概述 #### 一、Git简介与安装配置 - **Git的概念**:Git是一款开源的分布式版本控制系统,用于追踪在软件开发过程中对文件的修改历史,方便多用户协同工作。 - **Git的...
git上手pdf
Git 是一款强大的开源分布式版本控制系统,由 Linux 之父 Linus Torvalds 在 2005 年为管理 Linux 内核开发而创建。相较于传统的集中式版本控制系统如 CVS 和 SVN,Git 提供了一种全新的、分布式的协作模式。 在...
GIT分布式版本控制
Git 是一个分布式版本控制系统,用于跟踪计算机文件的变更历史,并支持多个开发者协同工作。它由 Linus Torvalds 在2005年创建,主要用于Linux内核的开发,但因其灵活性和强大的功能迅速成为了众多软件项目首选的...
这种设计使得Git在协作开发和代码版本管理方面表现卓越。 ### Git的基本概念 1. **仓库(Repository)**:存储项目所有版本信息的地方,包括文件内容和提交历史。 2. **工作区(Working Directory)**:用户进行...
Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维 护工作都花在了提交补丁和保存归档的繁琐事务...专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。它可以跟踪文件的变化、记录历史版本、方便团队协作开发以及实现代码的备份和恢复。 分布式架构: 与传统的集中式版本控制系统不同,...
### Git分布式系统管理知识点 #### 一、Git简介 **Git**是一种先进的分布式版本控制系统,最初由Linus Torvalds为了更好地管理Linux内核源代码而创建。它能够高效地处理从小型到非常大型的项目版本管理问题。Git的...
本项目是一款基于Git分布式版本控制系统的源码配置文件,共计420个文件,涵盖397个JSON配置文件、11个JAR包、8个文本文件、2个JavaScript文件和1个LICENSE文件。设计时需确保用户名和邮箱与GitHub注册信息一致,以...
Git (读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linux 作者 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 ...
Git是当今世界上最流行的分布式版本控制系统,它由林纳斯·托瓦兹(Linus Torvalds)在2005年创建,旨在为Linux内核开发提供一个高效且强大的版本管理工具。Git的核心设计理念是速度、数据完整性以及支持分布式开发...
### 分布式版本控制系统-Git详解 #### 版本控制的发展历程 版本控制技术随着软件开发的需求和技术的进步不断发展。从最初的本地版本控制系统到后来的集中式版本控制系统,再到现在的分布式版本控制系统,每一步...
作为一个开源的分布式版本控制系统,Git的核心设计理念在于让开发者能够轻松地追踪代码的变化,协作开发,并且能够回溯到任何历史版本,这对于团队合作和代码维护至关重要。 Git的分布式特性意味着每个开发者的本地...
我感觉很不错的宝贝,现在和大家分享,希望能够帮到大家,如果你需要可以下载看看,很适合喜欢研究技术的人员
前端开发必备,分布式管理工具git思维导图,思维导图中包括git基础知识、进阶、以及结合自己工作增加的常用git操作。git的学习首先不应考虑gi可视化工具,应该从操作git命令行开始,熟练掌握命令行,再去使用可视化...
#资源达人分享计划#
### git分布式代码管理教程 #### 一、Git简介与安装 **Git** 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 的设计目标是为了解决开发过程中代码版本控制的问题,它具有快速、数据...
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。