git命令行学习

Git命令行学习

目录

Git命令行学习

一、将文件添加到暂存区,以及提交到本地库

二、历史记录信息:

三、删除文件找回:

四、git 分支的创建以及删除

五、远程仓库与本地仓库的交互


一、将文件添加到暂存区,以及提交到本地库

● 1、加载当前目录下的详细资源

ll

ll   .git/      .git 代表的是文件名

 

● 2、列出当前目录下的资源(包括隐藏资源)

ls  -la

3、列出当前目录下的资源,分屏查看资源(包括隐藏资源)

ls  -l|less

4、打开资源目录文件

cd  code

5、新建一个目录(项目名)

mkdir  weGit         weGit: 代表文件目录名

6、初始化该目录,变成一个git仓库   (在该目录下打开git  bash  here)

git   init

pwd  查看当前的路径 

注意:

.git目录下存放的是本地库相关的子目录和文件,不要删除也不要修改

 

7、设置免密公钥,区分用户

git   config  --global  user.name  "用户名"

git   config   --global   user.email  邮箱地址

 

8、查看git工作区存储的状态

git  status

此时暂时没有任何的数据提交

9、与远程仓库进行关联 (ssh地址信息)

git  remote  add  origin   ssh地址(根据自己的git远程仓库ssh地址写就行了)

 

10、追踪文件,添加到暂存区  git add .  表明提交当前目录下所有文件

 git  add  文件名

11、将文件从暂存区中移除

git  rm  --cached  文件名

此时再次查看git 状态,文件出现红色,表明未提交到暂存区,未进行追踪

 

12、从暂存区提交到本地库

git  commit  -m  "提交注释的内容"

13、从本地库第一次提交推送到远程仓库

git  push  -u  origin  master

 

二、历史记录信息:

1、获取全部的提交记录

  git  log 

git   log   --pretty=oneline       以行显示哈希值

或者

git   log  --oneline

git   reflog              前进后退,方便移动指针,知道指针要移动多少次

   HEAD@(移动到当前版本需要多少步)

● 2、根据索引值前进后退(历史记录)  reset 命令

* git  reset  --hard   hash值

*  前进后退的其他版本,只能往后退

git  reset  --hard  HEAD^         

 (^一个此符号代表后退一次, 以此类推有几个符号就退几步)

 

git   reset  --hard  HEAD~n

( n代表一次性后退的次数)

 reset 命令的参数解释

 》 --soft     [哈希值]       仅仅在本地库移动HEAD指针

》 --mixed    在本地库移动HEAD指针     重置暂存区

》  --hard    在本地库移动HEAD指针     重置暂存区     重置工作区

 

三、删除文件找回:

● 1、删除文件

  rm   文件名

查看暂存区状态、将删除的文件添加到暂存区,此时暂存区会保留此文件被删除的记录

 2、文件的找回

利用git  reset  --hard   [指针位置]   回到之前的版本就可以找回之前的文件

      * 删除操作已经提交到本地库: 指针位置指向历史记录  ,就是HEAD的哈希值

      * 删除操作尚未提交到本地库: 指针位置使用HEAD

● 3、文件的比较

git  diff  文件名      

 * 将工作区的文件与暂存区的进行比较

 *  - 号代表删除的行 , + 代表增加的行

 

git  diff   HEAD^   文件名

* 将工作区文件与本地库历史记录进行比较

 *不带文件名,比较多个文件

 

四、git 分支的创建以及删除

● 1、创建新分支  (避免直接在主干中进行开发, 但是又是从主干中继承来的)

git  branch  分支名

●  2、查看分支

git  branch  -v

  3、切换分支

git  checkout  分支名

修改分支上的内容,在查看,此时主干和分支就内容不一致了

●  4、合并分支

* 第一步: 切换接收修改的分支上(被合并,增加新内容)

* 第二步: 执行命令

git  merge  分支名

●  5、解决冲突

 * 当分支中修改了文件,主干中也修改了文件,将两个文件进行合并时,会出现冲突

 * 冲突如下

* 【master| MERGING】

   代表手动合并失败,正处于合并状态中

第一步: 使用vim 文件名

【:set】进入文件编辑模式中显示产生冲突的地方

【hot_fix】表示其他分支内容

HEAD 表示当前分支内容

第二步、 * 修改文件中的特殊符号,去除掉冲突提醒标志

第三步、* 重新add 冲突文件到暂存区

git  add   文件名

第四步、* 重新提交文件到本地仓库  

(此时不能带文件名进行commit, 否则抛一个致命性的错误,   如图示报错)

  

git  commit -m “注释内容”    (正确操作)

此时【MERING】冲突就被解决了

 

五、远程仓库与本地仓库的交互

● 1、将远程仓库与本地联系起来

git  remote  add   origin   ssh的地址标识符

* 如果说已经存在origin ,那么先删除原先的在添加

 git   remote  rm  origin

 2、推送到远程仓库

git  push  origin  master

 3、克隆项目   git clone  ssh地址标识符

   git clone git@github.com:caddo0828/Servlet.git

 

● 4、从远程仓库中获取修改的信息

git pull

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值