Git的使用——安装/添加/删除/历史记录/命令记录的操作

来源:互联网 发布:linux查看cpu线程数 编辑:程序博客网 时间:2024/05/16 10:42

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);



0 0
原创粉丝点击