git基础(持续更新)

1.创建github远程仓库

    1. 登录github官网,登录成功后点击小头像选择Your repositories
    1. 进入远程仓库界面,可以看到自己放在github的所有项目。如需创建新项目,点击右上角的绿色按钮New进入创建界面
  • 3.创建界面如下,后面三个选项可以先不选。其中:
    选项1是否添加详细的项目说明文件
    选项2在模板列表中选择不跟踪的文件,意思就是说项目上传至github时 需要忽略上传的文件(如果此时没有选择,后期又需要使用时可以在项目根目录 .gitignore文件(另外两个操作相同)
    选项3添加项目许可证 告诉他人使用您的代码可以做什么和不可以做什么

2.上传代码至github

  • 1.当点击创建仓库后会跳转如图中的页面
  • 2.在项目当前目录打开命令行工具
    如果第一次创建则依次输入下面的代码
        git init         //初始化仓库
        git add.		//将未提交的文件提交至暂缓区
        git commit -m "初始化仓库" //将分支提交到仓库中  git commit -m  "提交分支"   -m代表提交消息
        git remote add origin 仓库地址.git // 关联远程仓库
        git git push -u origin master //上传至远程仓库
        
    
    此时代码就上传至远程仓库了

3. git 常用指令

0.本章节后续的章节 都是对这章节的详细说明

1.git init 初始化

git init 初始化仓库

2. git add 添加至暂缓区

 git add .      //将所有内容添加至暂缓区
 git add  xxx.md   //添加指定文件至暂缓区

3. git status 查看状态

git status   	//查看本地项目当前改动过代码的所有文件

4. git log 查看历史提交记录

//注意 进入git log 模式时 可以通过键盘按键Q退出该模式
git log			//查看项目历史提交记录


git log --author= '提交者的名字' 	//查看指定人员的提交记录

5. git commit 提交到本地仓库

git commit -m '初始化完成'  // git commit 主要是将暂存区里的改动给提交到本地的版本库。 -m 表示提交说明
git commit --amend  //追加提交,如果我们不小心提交了一版我们不满意的代码,并且给它推送到服务器了,在代码没被merge之前我们希望再修改一版满意的。它可以在不增加一个新的commit-id的情况下将新修改的代码追加到前一次的commit-id中。

6. git rm 删除文件

/**
  删除文件有两种方式
  1.手动删除  手动删除文件后需要 git add . 更新最新的状态
  2. 命令行删除
    通过
     git rm  需要删除的文件名 (可以多个 用空格 隔开)
*/

7. git mv 重命名|移动

1.git mv  需要重命名的文件  重命名之后的文件名称 

例:
    git mv demo.html   index.html  //将文件名为demo的html文件 改名为index
      
2. git mv 需要移动的文件   移动到哪个文件夹下
例:
	git mv demo.html  index   //将文件名为demo的html文件 移动到index文件夹下

8. git branch 查看、创建、删除分支

1.查看本地所有分支
   	通过 git branch 指令可以查看当前所有分支 
2.创建分支  git branch 创建的分支名

例:
      git branch index  //创建项目index分支
    
3.删除分支  git branch -d 要删除的分支名 注意:不能删除当前所在的分支

例:
	  git branch -d  index //删除index分支

//注意: 如果你的分支已经提交过代码,执行 git branch -d 命令则无法删除 
//此时我们需要使用 git branch -D 需要删除的分支名  进行删除  例:

		git branch -D index

9. git checkout 切换分支

  例:
  		git checkout index  //切换到index分支

10. git merge 合并分支

 例:当前处于marter分支中,需要合并index分支里的代码
 
 		git merge index

11. git push 推送到远程仓库

1.// git push 的作用是将本地代码推送至远程仓库 
	格式为:git push <远程主机名> <本地分支名>:<远程分支名>
    //当本地分支名与远程分支名相同,则可以省略冒号:
    git push <远程主机名> <本地分支名>
 举例:
    git push origin master //将本地代码推送至master分支
      
      
2. 删除主机但分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
     git push origin --delete master

查看文件的前后变化

  • git log --pretty=oneline 文件路径 //该文件commit 内容的历史记录
    例:
    git log --pretty=oneline pages/index/index.vue
    //获取到该文件commit 内容的历史记录 包括commitID 以及commit到的分支

    注意:git log 后 如果要退出 按下键盘Q即可

  • 如果需要查看详细内容 包括修改了那些内容等等,则需要使用:

    	git show commit的id  //查看文件提交详情
    //例如
    	git show 69ab1138fa022bb21fd4563c948aa3a3c5358c12   	
    

一键还原某文件

当对一个文件误操作但是并没有提交代码的时候可以使用这些方法

1.当代码改动较少时,可以使用 git diff (不推荐)

	git diff   


2. git checkout – 要还原的文件该方法还有一个前提 就是没有被 git add . 也就是说没被添加到暂存区才可以执行成功或者说没被追踪

	例:
        git checkout -- pages/index/index.vue //注意:路径必须从根路径开始

撤销文件的追踪

前一章说到还原某文件的 git checkout – 指令的前提时没有被提交,但是如果已经执行了 git add . 时 我们可以暂时撤销对该文件的追踪

//git reset HEAD 撤销追踪的文件路径
git reset HEAD pages/index/index.vue //撤销对index.vue文件的追踪 

撤销对文件的追踪后,git checkout – 文件路径 即可还原路径

回到指定的版本

注意 一次git commit 提交就是一个版本。当我们这次版本出现错误时,可以通过以下几种指令回退到之前的版本。

//1. 当版本数少时
	git reset --herd ^  //一个 ^ 就是一个版本
  
// 2.当版本数多时
	git reset --herd commitId  //commitId 可以通过git log 获取

单文件回退到指定版本

当我们想要某一文件回退到指定版本时,我们可以使用

	git checkout  需要回退的commitID -- 需要回退的文件
  		//注意: 1.commitID 可以通过git log 获取
                   2.回退的文件路径是绝对路径

将本地代码推送至远程仓库

	1.// git push 的作用是将本地代码推送至远程仓库 
 	//格式为:git push <远程主机名> <本地分支名>:<远程分支名>
     //当本地分支名与远程分支名相同,则可以省略冒号:
     git push <远程主机名> <本地分支名>
  举例:
     git push origin master //将本地代码推送至master分支
       
       
// 2. 删除主机但分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
      git push origin --delete master

给每个版本创建标签

git tag可以给每个版本创建一个标签,标签和分支有点类似。不同的是tag的位置是固定的,在给指定提交打好标签以后,它就固定于此位置。分支的位置会不断变动的,随着分支的向前推移或者向后回滚,都在不断变化。

  1. 给最新的版本添加标签
//格式: git tag 标签名 例:
     git tag v1.0


2. 给任意版本添加标签

// 格式: git tag 标签名 commitId(版本ID 通过git log 获取) 例:
    		git tag v0.1 


3.删除标签

// 格式: git tag -d 需要删除的标签名 例:
                     git tag -d v1.0
  1. 将版本标签推送到远程仓库
//  格式: git push origin 需要推送的标签名 例:
 				git push origin v1.0

此时登录github

创建、切换、删除、查看分支

  • 1.创建分支
   //方法1 git branch 创建的分支名 例:
          
          git branch index  //创建一个名为index的分支
          
  //方法2 git checkout -b 创建的分支名 例:
  		
          git checkout -b index //创建一个名为index的分支
  • 2.切换分支
  //格式 git checkout 需要切换的分支名 例:
  
  		git checkout master //切换到名为master的分支
  • 3.删除分支
  //格式: git branch -d 需要删除的分支名 注意:不能删除当前分支 例:
  
  			git branch -d index //删除名字为index的分支
           
  //注意: 如果你的分支已经提交过代码,执行 git branch -d 命令则无法删除 
  //此时我们需要使用 git branch -D 需要删除的分支名  进行删除  例:
  
  			git branch -D index
  • 4.查看所有分支
    通过 git branch 指令可以查看所有分支

合并分支

// 格式 git merge 需要合并的分支名
//例:当前处于marter分支中,需要合并index分支里的代码
    
    		git merge index  //将index的代码合并到marter分支中,index分支的代码不会有任何改变

解决合并分支时的冲突

git多人协作开发时,难免会对相同文件进行操作,此时合并就产生了冲突。例如我们在index分支对demo.vue进行了操作,之后合并到主分支master中。又在dev分支对demo.vue进行了操作,再合并到主分支master的时候就会报错。VScode中会显示

解决合并分支时的冲突只需点击上面的功能进行操作即可。也可以使用命令行进行操作如:

/**
   方法1:采取当前master分支的修改,忽略其他分支的代码 (对应采用当前更改)
*/
   		git merge -abort  //采用当前分支的更改
   
   
 /** 
    方法2:手动修改。将上图中所有的合并符号删除,与协作人员沟通留下哪些代码,之后输入
 */  		
 
 		 git add .  //1.将当前内容添加到暂缓区,之后输入
               
              	 git commit  //2.此时进入一个可编辑状态,可以编辑当前标识符 我一般写解决了什么文件的冲突,之后输入 :wq退出编辑状态,之后再次提交即可
             
             
             	 git commit -m  "版本描述"   //3
               

删除远程仓库中的分支

注意:删除前最好考虑下 分支的代码是否合并到主分支了。

//格式 :git push origin --delete 要删除的分支名

//例:
  		git push origin --delete demo  //删除远程仓库中的demo分支

代码的更新(拉取)

在git多人协作开发时,难免要拉取远程仓库中同伴的最新代码。以下有两种方式:

/**  
	方法1: git pull  //将远程仓库中的代码更新到本地仓库并合并.
    
    	方法2: git fetch  //将远程仓库中的代码更新到本地仓库 需通过git merge origin/master手动合并.
        
       //个人推荐使用方法2 
*/

扩展插件

1.Octotree 可以像文档一样 操作GitHub

2.enhanced github 可以查看github 单文件的大小 可以下载单文件

3.gitzip for github 可以下载GitHub某一个文件夹 双击空白区域

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值