Git

image-20220119111847440

  • 两种工作流程

    • 先创建本地repo

      • - git init
        - 修改工作区文件
        - git add
        '''
        	找不同
        	git diff $filename
        	
        	版本回退
        	git log -pretty=oneline:显示msg和版本号
        	git reset --hard HEAD^/HEAD~100:
        	git reflog:找到指定的版本信息,使用reset进行回退。
        	
        	撤销与删除文件
        	- 修改工作区
        	- git rm $filename
        	- git commit -m "msg" 
        	
        	- git reset --hard HEAD^
        	
        	- git checkout --$filename:丢弃对工作区的修改,若已经add 进入缓存区,回退到缓存区中内容。
        '''
        - git commit -m "msg"
        - git remote add origin $repo_url :关联远程repo
        - git push -u origin master: -u关联远程仓库
        

        - 先得到远程仓库

        ```bash
        - git clone $repo_url

        '''
        创建并切换分支
        git checkout -b $branch_name
        等同于
        git branch $branch_name
        git checkout $branch_name

        合并某分支到当前分支
        git merge $branch_name
        git branch -d name


    • 多人协作

      '''
      master 分支比较稳定,在其他分支上进行开发

      - git clone $repo_url:clone完之后Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin
      - git checkout -b $branch_name origin/$branch_name
      - git add .
      - git commit -m "msg"
      - git push origin $branch_name
      若有冲突:
      - git pull origin $branch
      - cat $filename:手动解决冲突
      - git push origin $branch_name

      '''

hook 脚本

  • pre-commit:键入提交信息之前运行
  • prepare-commit-msg:启动提交信息编辑器之前,默认信息已经被创建
  • commit-msg:接受一个参数,存有当前提交信息的临时文件的路径
  • post-commit:整个提交过程完成后运行其余的hook。