Git使用集锦

来源:互联网 发布:如何调用数组方法 编辑:程序博客网 时间:2024/06/05 15:06

1、Git介绍

Git是分布式的代码管理工具,远程的代码管理是基于SSH

这里写图片描述
git的文件状态变化周期

2、配置本地Git连接GitHub

(1)安装Git客户端“Git-2.7.2-32-bit_setup.1457942412.exe”
(2)生成SSH Key:ssh-keygen -t rsa –C “邮箱地址”,注意ssh-keygen之间是没有空格的,其他的之间是有空格的
(3)转到GitHub网站配置SSH key,点击箭头指示图标Account settings,然后点击左侧的SSH Keys,之后 点击右侧的Add SSH Key
(4)验证是否设置成功,在git bash下输入如下命令:ssh –T git@github.com
(5)配置用户名和邮箱:
git config –global user.name “用户名”
git config –global user.email “邮箱”

3、将本地工程推送到GitHub上

(1)cd E:\dubbo-master
(2)右键点击dubbo-master文件夹,选择Git Bash Here
(3)git cmd中输入git init:在本文件夹中建立.git仓库文件,初始化了一个空的Git仓库
(4)git add .将所有文件添加到本地仓库中
(5)git status显示提交的状态:已经添加,等待提交事务的文件(绿色字体表示);已经改变但是没有添加(not staged)的文件(红色字体表示);
(6)git commit –m “初次提交@liup”
(7)在github上新建repository(命名为dubbo-master),不创建readme.md
(8)将本地项目和远程仓库建立连接:git remote add origin git@github.com:GISPeng/dubbo-master.git
(注意:如果这一步提示origin already exists,则执行git remote rm origin
(9)将本地项目提交到远程仓库中:git push –u origin master

4、分支操作命令
(1)本地新建一个分支: git branch dev
(2)切换到你的新分支: git checkout dev

注:checkout还有一个用法,将某一个改动恢复到之前状态,必须先经过git add
例如:git checkout – filename

(3)本地删除一个分支: git branch -d dev
(4)git branch(列出本地分支,并且在当前分支的前面加“*”号标记)
(5)git branch –a(列出本地和远程分支)
(6)git branch –r(列出远程分支)
(4)将新分支推送到远程: git push origin dev
(5)删除远程分支: git push origin –delete branchName
(6)删除远程Tag: git push origin –delete tag tagname

推送一个空分支到远程分支,其实就相当于删除远程分支
git push origin branchName
git tag -d tagName
git push origin : refs /tags/tagname

5、项目开发使用Git流程

(1)从服务器拉取指定分支代码:git clone –b development URL

**clone与pull区别:第一次从远程仓库克隆分支 VS  本地已有相应分支,将远程分支更新拉取到本地**

(2)编辑代码
(3)修改前后简单比较:git status
(4)提交变化到暂存区:git add . (说明:提交到暂存区包括内容修改以及新文件,不包括被删除的文件)
(5)提交暂存区的数据:git commit -m “comment”
(6)将远程分支与当前分支合并:git pull origin branchName(如果开启vim编辑器,则:q退出vim)
(7)提交远程:git push origin branchName
(8)git tag tagName
(9)git push origin tagName(配合jekins使用)

6、如何合并development到master中
(1)切换到master分支:git checkout master
(2)使用merge合并命令:git merge development
(3)如果merge报错“auto_merge failed,conflict..“,则在Eclipse中找到对应代码并修正、保存
(4)git status
(5)git add .
(6)git status
(7)git commit -m “merge development to master”
(8)git pull origin master
(9)git push origin master

7、Git只管理源代码
(1)在项目文件夹根目录新建一个文件”.gitignore“,并填入以下内容
这里写图片描述
(2)如果上述gitignore不起作用,可能.setting、.classpath、.project之前已经被加入版本控制,解决方法是将这些文件从本地仓库中删除,然后提交

从git中去掉某一个文件版本控制:git rm –cached filepath
从git中去掉某一个文件夹下所有文件版本控制:git rm –r –cached dirPath

git rm –cached filepath与git rm filepath的区别?
如果需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用后者
如果需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用前者

8、Git Diff使用
(1)命令解释:比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异也就是修改之后还没有暂存起来的变化内容
(2)命令使用:

git diff filename
git diff(不带filename会列出所有满足的文件对比,可能需要分屏浏览,使用如下快捷键浏览或退出)

这里写图片描述