您的位置:首页 > 其它

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/

// 安装
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐