git笔记

前提

windows系统,建议使用win10,微软不更新win7了。

git操作

初始化仓库

git init

 

如果是从远程仓库克隆到本地的话,就不用初始化了,已经克隆下来的已经包含.git文件。 

 

配置作者信息

git config --global user.email "xxx"
git config --global user.name "xxx"

  

查看配置信息

// 编辑器查看【在含有.gitconfig配置文件的目录下执行】
subl.gitconfig

// 终端查看
git config -l 

// 查看全局的git用户 email

git config --global user.email

// 查看全局的git用户 name
git config --global user.name

 

创建文件夹、文件

  1. mkdir 创建文件夹
  2. touch 创建文件

查看文件

  1. ls  展示当前目录下的文件列表
  2. ll 详细展示当前目录下的文件列表
  3. ls -a 展示当前目录下的文件列表,包括隐藏文件都展示出来

 

从本地提交文件到远程仓库

// 添加文件到暂存区
// . 是添加全部,添加单个文件可以这么写 git add a.txt
git add .

// 查看仓库当前的状态,显示有变更的文件
git status -s

//将暂存区内容添加到本地仓库中、添加备注信息
git commit -m "xx"


// 将暂存区的文件提交到远程仓库并合并
git push origin 分支名

// 下载远程代码并和本地代码合并
git pull origin 分支名

 

注意:

  1. commit一次过后才会生成主分支

  

查看远程仓库信息

  • git remote -v : 查看远程仓库地址
  • git banch : 查看远程分支
  • git branch -a :查看本地和远程的所有分支【分支前面标识了 remotes的说明该分支已经推送到远程仓库,其余的都是本地分支】

删除文件

  1. git rm 文件名: 删除工作区文件
  2. git rm -f  文件名 : 删除暂存区的文件

 

修改文件名

  1. git mv 原文件名 新文件名 : 将文件添加到暂存区后可以执行这个修改
  2. git mv -f  原文件名 新文件名 :工作区已存在改文件,加上-f 可以强制修改

 

修改文件内容

// vim 修改的文件名
vim a.txt
  1. 按 i 进入编辑模式,修改好之后 按Esc 退出编辑模式
  2. 输入 :wq,保存并退出

 

修改上一次提交的commit信息

git commit --amend

  

git 命令全局配置

git config --global alias.快捷键 '原来的命令'

  

配置好的快捷键可以通过 subl .gitconfig 查看,如下

HEAD

指向当前操作的分支

 

分支操作

  1. git banch  分支名:创建分支
  2. git checkout 分支名 : 切换到某个分支
  3. git checkout -b 分支名:结合以上两个功能
  4. git push origin 分支名:分支名:本地分支推送到远程
  5. git push --set-upstream origin 本地分支名:本地分支提交到远程
  6. git branch -d 分支名:删除分支

 

  

 

  • 这图片表示 当前有两个分支
  • 前面有星号表示:当前工作区指向的分支(即 HEAD的指向)  

 

 

合并分支 解决冲突

  • 合并的两个分支修改了同一个资源会导致产生冲突,需要先解决冲突再提交
  • // 假设当前在master分支,要合并dev分支
    git merge dev
    

      

 

  •  查看已经合并的分支:git branch --merged
  • 查看没有合并的分支:git branch --no-merged

 

A分支修改代码,但是未完成 功能,提交了commit,此时切换到B分支

  • git stash :保存到暂存区
  • git stash list
  • git stash apply : 恢复到某个暂存区的状态
  • git stash drop stash@{0}

 

 git 标签

稳定的版本提交可以打上标签,不能随便打,因为打上了标签的话 包管理网站会跟踪到这个标签更新 它的版本

  • 打标签:git tag v1.0
  • 查看标签:git tag

 

 生成zip代码,发布压缩包

  • git archive master --prefix='hdcms/' --formz=zip > hdcms.zip
    • --formz=zip : 指定最终存档的格式
    • --prefix='hdcms/' :在存档中的每个文件名前添加<prefix> /。

 

 使用系统别名定义git全局指令

  • 方法一

 

  • 方法二
    • 在用户文件夹下创建文件.bash_profile
    • 定义全局指令
    • alias gb="git branch"
      alias ga="git add ."
      alias gc="git commit -m"
      alias gl="git log"
      alias gs="git status"
      

        

 

 rebase:

子分支合并到最新的master的提交点,子分支处理冲突【功能就是把子分支的基础点往后移】

 

 SSH

生成密钥:
  • ssh-keygen -t rsa
    • 系统会在~/.ssh 目录中生成id_rsa和id_rsa_pub
  • cd ~/.ssh:进入生成的密钥文件夹
  • subl id_rsa.pub:编辑器打开公钥,复制内容,添加到github

 添加到远程仓库

  • git remote add origin@xxx
  • git remote -v
  • git push -u origin master
  • git branch -a :查看分支,本地和远程都有
  • git push --set-upstream origin 本地分支名:把本地分支提交到远程
  • git push origin --delete 分支名:删除远程分支
  • git branch -d 分支名:删除本地分支

 

 github自动部署

 

 git:更改远程仓库指向 remote url

  •  git remote set-url origin https地址 或者 ssh地址
  • git config -e : 在终端直接修改

 

 

 

 

 

 

posted @ 2020-12-11 17:01  小昱同学  阅读(98)  评论(0)    收藏  举报