Git的使用——安装/添加/删除/历史记录/命令记录的操作
2017-03-14 18:03
651 查看
https://git-scm.com
http://www.runoob.com/manual/git-guide/
Git分布式版本控制系统。
SVN集中式和Git分布式版本控制系统有什么区别呢?
集中式:
1、必须联网,且带宽够大,速度够快;
2、依赖控制系统的中央服务器,如果中央服务器出了问题,则没法干活;
分布式:
1、没有中央服务器的概念,每台电脑都是一个完整的版本库,互相不依赖;
2、提交时才需要联网处理修改的文件;
Git工作原理
Git管理的是修改(如新增文件、新增字符、删除文件、删除字符、修改字符等),而不是文件。
1、概念
工作区:个人电脑里的文件夹目录。
版本库:工作区的隐藏目录.git。
暂存区:版本库里的stage,或index。
分支:版本库里自动创建的唯一一个master分支。branch。
HEAD:
2、操作命令执行
步骤1 添加文件 git add (git add . 或git add 文件名称),即把工作区的文件添加到版本库中的暂存区;
步骤2 提交文件 git commit (git commit -m "说明"),即把版本库中暂存区的所有内容提交到当前分支;
步骤3 删除文件 git rm (git rm 文件名称),即把版本库当前分支的文件删除;
步骤4 提交到远程仓库 git push(git push origin master)
Git的安装
1、在Linux上安装Git:sudo apt-get install git
2、Mac OS X上安装Git:
方法1
安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/。
方法2
安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
Git的配置
1、指定用户名:git config --global user.name "Your Name"。如:
Git的使用
仓库,也叫版本库repository,即文件管理(修改、删除)的目录
1、创建目录
步骤1、创建存放文件的目录:mkdir 目录名。如:
2、将目录变成Git可以管理的仓库
步骤1、git init。如:
注意:空目录,或已经有资料的目录都可以创建Git仓库。
3、把文件添加到版本库
注意:Git版本库只能管理以纯文本(txt文件、网页、程序代码等)编写的文件,而图片文件,或音视频文件则只知道如从100KB变成120KB的改变,而不像知道文本文件第几行新增,或修改,或删除了某个单词这么详细。
步骤1、把文件添加到仓库:git add 文件名。如:
步骤2、把文件提交到仓库:git commit -m 备注。如:
步骤3、把文件提交到服务器:git push。如:
4、查看仓库状态
步骤1、仓库当前的状态:git status
步骤2、仓库文件修改内容:git diff,或git diff 文件名。如:
5、查看仓库记录
显示从最近到最远的提交日志。
步骤1、历史记录:git log。如:
或单行历史记录:git log --pretty=oneline。如:
6、查看命令历史
显示每一次命令的记录。
步骤1、命令历史:git reflog。如:
7、版本回退
版本回退,上个版本head^,上上个版本head^^,……,100个版本head~100。
步骤1 回退版本:git reset —-hard HEAD版本,或git reset —-hard 版本号。如:
8、修改撤销
情况1、文件修改后但没有add到暂存区时,即在工作区中修改的可以撤销;
情况2、文件add到暂存区后做了修改时,即在暂存区中修改的可以撤销;
步骤1、撤销修改内容:git checkout —- 文件名称。如:
9、暂存区的修改回退到工作区
步骤1、git reset HEAD 文件名称。如:
10、删除文件
先将文件从目录文件夹中删除,再从版本库中删除
步骤1、删除文件:git rm 文件名称。如:
11、设置版本号
(1)添加本地版本号:
或添加标签(记录某人某时打的标签)
(2)提交到远程仓库:
(3)查看所有版本号:
(4)删除本地版本号
12、其他
(1)查看修改详情
(2)查看某个文件的包含提交人员,日期、版本号等记录信息,不包括修改详情
13、git分支
(1)查看分支信息
(4)合并分支:git merge 合并时,先切换回主干
(5)创建并切换分支
(8)本地工作区的分支提交到远程仓库
注意:
(1)通常远程仓库分支不会一起下载下来,如果要进行分支开发,可以这样设置 git checkout -b 分支名 origin/分支名。另外再次说明,分支可以是本地分支,也可以是远程仓库分支,本地分支要提交到远程仓库时,可以使用语句 git push origin 分支名称。
(2)使用地址下载源码后,进行切换分支则当前操作的源码只会对分支源码有影响,即下载的源码目录也会跟着分支改变。
合并分支时,先将分支的修改提交到缓存区(git add . ; git commit -m “xxx”),然后切换回主干(git checkout master),接着进行合并(git merge IMTeam),最后再次将主干的修改进行提交(git add . ; git commit -m “xxx”)。
具体步骤如下:
a)查看分支:git branch
b)查看状态:git status
c)提交:git add . ; git commit -m “说明”
d)先切换回主分支:git checkout master
e)查看状态:git status——无变化
f)合并分支:git merge IMTeam
g)查看状态:git status——有变化
h)提交:git add . ; git commit -m “说明”
i)提交:git push
14、查看远程仓库信息
15、本地仓库与远程仓库的关联
(1)存在远程仓库DemoTest,但没有在终端通过命令"git clone 远程仓库地址"克隆到本地
(2)在本地创建与远程仓库同名称的目录DemoTest
(2-1)通过终端命令"cd ...."进入本地目录路径DemoTest
(2-2)通过终端命令"git init"将本地目录DemoTest初始化成一个代码仓库
(3)本地代码仓库关联远程仓库,在终端使用命令"git remote add 远程仓库地址"
(4)查看"git remote"
(5)将远程仓库代码克隆到本地代码仓库"git pull origin master"
注意事项:
1、远程仓库源码下载到电脑A,电脑B;
2、电脑A中进行修改,但没有提交到远程仓库;
3、电脑B中进行修改,且提交到了远程仓库;
4、再次对电脑A进行操作时,需要将远程仓库中的最新源码下载到电脑A中;
5、查看电脑A中是否有变更操作(git status),有变更时,需要把在工作区中的变更提交到缓存区(git add .;git commit -m "说明");
6、提交到缓冲区后,再将远程仓库的最新源码下载到本地缓冲区(git pull);
7、查看源码是否存在冲突,有冲突时解决冲突,并重新提交到缓存区(git add .;git commit -m "说明");
8、解决冲突后,或没有冲突时,再将电脑A中的源码提交到远程仓库(git push origin master);
http://www.runoob.com/manual/git-guide/
Git分布式版本控制系统。
SVN集中式和Git分布式版本控制系统有什么区别呢?
集中式:
1、必须联网,且带宽够大,速度够快;
2、依赖控制系统的中央服务器,如果中央服务器出了问题,则没法干活;
分布式:
1、没有中央服务器的概念,每台电脑都是一个完整的版本库,互相不依赖;
2、提交时才需要联网处理修改的文件;
Git工作原理
Git管理的是修改(如新增文件、新增字符、删除文件、删除字符、修改字符等),而不是文件。
1、概念
工作区:个人电脑里的文件夹目录。
版本库:工作区的隐藏目录.git。
暂存区:版本库里的stage,或index。
分支:版本库里自动创建的唯一一个master分支。branch。
HEAD:
2、操作命令执行
步骤1 添加文件 git add (git add . 或git add 文件名称),即把工作区的文件添加到版本库中的暂存区;
步骤2 提交文件 git commit (git commit -m "说明"),即把版本库中暂存区的所有内容提交到当前分支;
步骤3 删除文件 git rm (git rm 文件名称),即把版本库当前分支的文件删除;
步骤4 提交到远程仓库 git push(git push origin master)
Git的安装
1、在Linux上安装Git:sudo apt-get install git
2、Mac OS X上安装Git:
方法1
安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/。
// 安装 brew install git
// 检测git是否安装成功: git --version
// 显示当前git的路径 which git
方法2
安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
Git的配置
1、指定用户名:git config --global user.name "Your Name"。如:
git config --global user.name "devZhang"2、指定邮件地址:git config --global user.email "email@example.com"。如:
git config --global user.email "xxxx@163.com"如何取消设置?
Git的使用
仓库,也叫版本库repository,即文件管理(修改、删除)的目录
1、创建目录
步骤1、创建存放文件的目录:mkdir 目录名。如:
mkdir learnGit步骤2、进入目录:cd 目录名。如:
cd learnGit步骤3、查看目录路径:pwd。如:
pwd
2、将目录变成Git可以管理的仓库
步骤1、git init。如:
git init创建成功后,目录下会多一个Git用来跟踪管理版本库的 .git 的目录。
注意:空目录,或已经有资料的目录都可以创建Git仓库。
3、把文件添加到版本库
注意:Git版本库只能管理以纯文本(txt文件、网页、程序代码等)编写的文件,而图片文件,或音视频文件则只知道如从100KB变成120KB的改变,而不像知道文本文件第几行新增,或修改,或删除了某个单词这么详细。
步骤1、把文件添加到仓库:git add 文件名。如:
git add learnGit.txt
// .表示所有修改,或添加的文件 git add .
步骤2、把文件提交到仓库:git commit -m 备注。如:
git commit -m “添加文件learnGit.txt”
步骤3、把文件提交到服务器:git push。如:
git push origin master
4、查看仓库状态
步骤1、仓库当前的状态:git status
步骤2、仓库文件修改内容:git diff,或git diff 文件名。如:
git diff // 或 git diff learnGit.txt
5、查看仓库记录
显示从最近到最远的提交日志。
步骤1、历史记录:git log。如:
git log
或单行历史记录:git log --pretty=oneline。如:
git log --pretty=oneline
6、查看命令历史
显示每一次命令的记录。
步骤1、命令历史:git reflog。如:
git reflog
7、版本回退
版本回退,上个版本head^,上上个版本head^^,……,100个版本head~100。
步骤1 回退版本:git reset —-hard HEAD版本,或git reset —-hard 版本号。如:
// 上个版本 git reset —-hard HEAD^ // 上上个版本 git reset —-hard HEAD^^ // 或指定版本号 git reset —-hard 655645645。
8、修改撤销
情况1、文件修改后但没有add到暂存区时,即在工作区中修改的可以撤销;
情况2、文件add到暂存区后做了修改时,即在暂存区中修改的可以撤销;
步骤1、撤销修改内容:git checkout —- 文件名称。如:
git checkout —- learnGit.txt
9、暂存区的修改回退到工作区
步骤1、git reset HEAD 文件名称。如:
git reset HEAD learnGit.txt
10、删除文件
先将文件从目录文件夹中删除,再从版本库中删除
步骤1、删除文件:git rm 文件名称。如:
git rm test.txt步骤2、提交删除文件:git commit -m 备注。如:
git commit -m “remove file:test.txt”
11、设置版本号
(1)添加本地版本号:
git tag x.x.x -m "版本号说明"
或添加标签(记录某人某时打的标签)
git tag -a vx.x.x -m "版本号说明"
(2)提交到远程仓库:
git push origin master --tags
(3)查看所有版本号:
git tag
(4)删除本地版本号
// 格式:git tag -d x.x.x,示例 git tag -d 1.0.2
// 提交到远程仓库,即把与之对应的远程仓库的版本号也删除 // 格式(注意冒号前有个空格):git push origin :x.x.x,示例: git push origin :1.0.2
12、其他
(1)查看修改详情
git show // 或 git log -p
(2)查看某个文件的包含提交人员,日期、版本号等记录信息,不包括修改详情
git whatchanged
13、git分支
(1)查看分支信息
// 本地分支 git branch // 远程分支 git branch -a(2)创建分支
git branch branchName // 示例 git branch IMTeam(3)切换分支
git checkout branchName // 示例 git checkout IMTeam
(4)合并分支:git merge 合并时,先切换回主干
// 切换回主分支 git checkout master // 合并分支到主干 git merge IMTeam
(5)创建并切换分支
git checkout -b branchName // 示例 git checkout -b IMTeam(6)删除本地分支
git branch -d branchName // 示例 git branch -d IMTeam(7)删除远程分支
git branch -r -d origin/分支名称 git push origin :分支名称
(8)本地工作区的分支提交到远程仓库
git push origin 分支名称
注意:
(1)通常远程仓库分支不会一起下载下来,如果要进行分支开发,可以这样设置 git checkout -b 分支名 origin/分支名。另外再次说明,分支可以是本地分支,也可以是远程仓库分支,本地分支要提交到远程仓库时,可以使用语句 git push origin 分支名称。
(2)使用地址下载源码后,进行切换分支则当前操作的源码只会对分支源码有影响,即下载的源码目录也会跟着分支改变。
合并分支时,先将分支的修改提交到缓存区(git add . ; git commit -m “xxx”),然后切换回主干(git checkout master),接着进行合并(git merge IMTeam),最后再次将主干的修改进行提交(git add . ; git commit -m “xxx”)。
具体步骤如下:
a)查看分支:git branch
b)查看状态:git status
c)提交:git add . ; git commit -m “说明”
d)先切换回主分支:git checkout master
e)查看状态:git status——无变化
f)合并分支:git merge IMTeam
g)查看状态:git status——有变化
h)提交:git add . ; git commit -m “说明”
i)提交:git push
14、查看远程仓库信息
git remote显示更详细的远程仓库信息
git remote -v
15、本地仓库与远程仓库的关联
(1)存在远程仓库DemoTest,但没有在终端通过命令"git clone 远程仓库地址"克隆到本地
(2)在本地创建与远程仓库同名称的目录DemoTest
(2-1)通过终端命令"cd ...."进入本地目录路径DemoTest
(2-2)通过终端命令"git init"将本地目录DemoTest初始化成一个代码仓库
(3)本地代码仓库关联远程仓库,在终端使用命令"git remote add 远程仓库地址"
(4)查看"git remote"
(5)将远程仓库代码克隆到本地代码仓库"git pull origin master"
注意事项:
1、远程仓库源码下载到电脑A,电脑B;
2、电脑A中进行修改,但没有提交到远程仓库;
3、电脑B中进行修改,且提交到了远程仓库;
4、再次对电脑A进行操作时,需要将远程仓库中的最新源码下载到电脑A中;
5、查看电脑A中是否有变更操作(git status),有变更时,需要把在工作区中的变更提交到缓存区(git add .;git commit -m "说明");
6、提交到缓冲区后,再将远程仓库的最新源码下载到本地缓冲区(git pull);
7、查看源码是否存在冲突,有冲突时解决冲突,并重新提交到缓存区(git add .;git commit -m "说明");
8、解决冲突后,或没有冲突时,再将电脑A中的源码提交到远程仓库(git push origin master);
相关文章推荐
- Windows下,在Git Bash中使用git log命令查看历史记录时,出现乱码的解决方法
- Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- git操作 --- 删除commit后 push的记录,远程历史记录中不会保留该commit操作
- Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)(转)
- 【转】Linux下Oracle sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- (转)Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- 初次安装使用git及常用命令记录
- Git命令工作常用记录 回退 删除 添加 查看
- [转] Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法--使用rlwrap
- windows sharepoint 3.0模块安装及删除使用命令
- 使用ajax来实现数据的添加删除查询并能操作表格
- 在Linux下使用script命令记录数据库操作
- Git的初次使用 ; Git常用命令查询 ; Git push ; Git pull 2011-12-16 17:32 在介绍安装和简单使用前,先看一下百度百科中的简介吧: ———————————
- 读取NTFS的USN(获取文件的历史操作记录,即使这个文件已被删除)
- 远程桌面使用痕迹清理【完全删除远程桌面连接历史记录】
- rpm命令|rpm安装|rpm卸载|rpm使用|rpm删除 Linux 中 RPM 命令参数使用详解
- Linux 命令的一些记录(五):在安装ubuntu的一些操作
- Ubuntu中初步安装好MYSQL后,无法登陆问题及mysql添加、删除账号和修改密码操作