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
创建文件夹、文件
- mkdir 创建文件夹
- touch 创建文件
查看文件
- ls 展示当前目录下的文件列表
- ll 详细展示当前目录下的文件列表
- ls -a 展示当前目录下的文件列表,包括隐藏文件都展示出来
从本地提交文件到远程仓库
// 添加文件到暂存区 // . 是添加全部,添加单个文件可以这么写 git add a.txt git add . // 查看仓库当前的状态,显示有变更的文件 git status -s //将暂存区内容添加到本地仓库中、添加备注信息 git commit -m "xx" // 将暂存区的文件提交到远程仓库并合并 git push origin 分支名
// 下载远程代码并和本地代码合并
git pull origin 分支名
注意:
-
commit一次过后才会生成主分支
查看远程仓库信息
- git remote -v : 查看远程仓库地址
- git banch : 查看远程分支
- git branch -a :查看本地和远程的所有分支【分支前面标识了 remotes的说明该分支已经推送到远程仓库,其余的都是本地分支】
删除文件
- git rm 文件名: 删除工作区文件
- git rm -f 文件名 : 删除暂存区的文件
修改文件名
- git mv 原文件名 新文件名 : 将文件添加到暂存区后可以执行这个修改
- git mv -f 原文件名 新文件名 :工作区已存在改文件,加上-f 可以强制修改
修改文件内容
// vim 修改的文件名 vim a.txt
- 按 i 进入编辑模式,修改好之后 按Esc 退出编辑模式
- 输入 :wq,保存并退出
修改上一次提交的commit信息
git commit --amend
git 命令全局配置
git config --global alias.快捷键 '原来的命令'
配置好的快捷键可以通过 subl .gitconfig 查看,如下

HEAD
指向当前操作的分支
分支操作
- git banch 分支名:创建分支
- git checkout 分支名 : 切换到某个分支
- git checkout -b 分支名:结合以上两个功能
- git push origin 分支名:分支名:本地分支推送到远程
- git push --set-upstream origin 本地分支名:本地分支提交到远程
- 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 : 在终端直接修改

浙公网安备 33010602011771号