git本地库(操作具体命令)!

在任何盘符下创建本地仓库repository(除git目录下)

在项目目录创建新的本地仓库,并把项目里的所有文件全部添加、提交到本地仓库中去:

$ git init    #在当前的目录下创建一个新的空的本地仓库
Initialized empty Git repository in /home/user/test_proj/.git/
$ git add .   #把前目录下的所有文件全部添加到暂存区
$ git commit -m 'project init' #创建提交,并添加备注
[master (root-commit) b36a785] project init
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 readme.txt

 

1.1 本地操作

1.1.1       git status

                     

1.1.2       git add

                     使用命令 git add a.txt添加到暂存区里面去

1.1.3       git commit

                   用命令 git commit告诉Git,把文件提交到仓库  

                    

1.1.4       忽略文件

在工作区中创建一个隐藏文件.gitignore,将要被git忽略的文件名写入到该文件,然后将.gitignore提交到版本库即可。

1.1.5       查看区别

(1)   比较工作区与暂存区git diff

 

(2)   比较暂存区与本地库git diff --cached

 

1.1.6       撤销修改

(1)   仅在工作区中修改git checkout --

若一个文件内容仅仅在工作区中被修改,还未做add,则可通过该命令将修改内容撤销。

(2)   已在暂存区修改git reset HEAD

若一个文件修改后内容已经被add到了暂存区,则可通过该命令将暂存区中的修改撤销。

 

1.2 回退到之前版本

1.2.1       查看历史版本git log

(1)   基本命令

(2)   git log --pretty=oneline

以一行形式显示提交及日志,但commit-id为长格式。

(3)   git log --pretty=oneline --abbrev-commit

commit-id以短格式显示。

下图是以图表风格出现:更加直观的看出修改的日志记录!

 

(4)   翻页与退出

l  回车:一次显示一行

l  空格:翻页

l  q键:退出命令

1.2.2       HEAD指针

HEAD:指向当前版本。

HEAD^:指向当前版本的前一个版本。

HEAD^^:指向当前版本的第前两个版本。

HEAD^^^:指向当前版本的第前三个版本。

……

HEAD^~20:指向当前版本的第前20个版本。

 

1.2.3       查看可引用历史版本gitreflog

1.2.4       版本回退

                     当提交到分支区后文件,是没有办法不被记录修改的,但是也可以根据git log 查看 ID重新回到没有修改的版本中,称“回退版本”操作,但是就算回退到以前的版本 ,分支区也有一些记录。

(1)   git reset --soft(软回退)

分支区内容回退,但暂存区与工作区内容没有回退。

(2)   git reset --mixed(混合回退)

分支区与暂存区内容回退,但工作区内容没有回退。

--mixed为默认选项,即可以省略。

(3)   git reset --hard(硬回退)

分支区、暂存区与工作区内容全部回退。

 

1.1 删除文件

 

1.1.1       搭建环境

1.1.2       查看暂存区文件列表gitls-files

                    仅查看暂存区文件列表。

1.1.3       查看”暂与本”文件列表总和git ls-files--with-tree=HEAD

                       查看的是暂存区与分支区文件列表总和,而非仅仅是分支区文件列表。

1.1.4       仅删除暂存区中指定文件gitrm --cached

1.1.5       恢复被删文件git resetHEAD <file>

1.1.6       完全删除git rm

                    删除了工作区与暂存区中的指定文件,但分支区中的文件没有删除。

1.1.7       恢复被删文件

1.2 分支管理

1.2.1       Git分支理论

(1)   Git主干

(2)   Git分支

               在Dev创建的分支,master分支不可以查收到文件,不同的分支,不同的修改,则看不到master下的文件;当然如果两者只有一个分支,当创建另一个分支的时候,那么创建的另一个分支会根据之前建立的分支的信息为前提,它也能看到之前分支创建的信息。

(3)   分支合并

               想要Dev和master合并,必须在master分支下合并,才能合并Dev和master,然后想要继续接下来的工作,必须删除Dev分支,因为合并后的Dev分支已经落后了。

                如果在Dev分支下合并,只能合并debug分支和Dev分支。

(4)   合并后的删除

         1.2.2       分支基本操作

(1)   创建并切换分支git checkout -b <branch>

git chechout –bdev 相当于以下两个命令的组合:

git branchdev     // 创建dev分支

git checkoutdev    // 切换到dev分支

(2)   查看系统分支git branch

(3)   切换分支git checkout <branch>

(4)   删除分支git branch –d <branch>     

 

              git branch -d:一般情况下,删除某一分支文件前,必须先要合并,然后再master分支下删除

              git branch -D:这是强制性删除;

 

(5)   合并分支git merge <branch>

                

              在Dev分支下创建的文件,在提交之前,master分支不可以查收到文件;

              想要合并必须在master分支下,才能合并dev和master; 如果在deve分支下,合并智能合并debug和Dev分支;

1.2.3  分支合并与冲突

      

(1)产生冲突的合并   

            git的冲突单元是文件,即只要多个分支对同一文件进行修改,无论修改的是什么内容,在合并时肯定会发生冲突;

(2)无冲突的合并  

 

           只要修改的不是同一个文件,肯定不会发生冲突;

 

 

 

 

      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值