根据git官方网站下载的文档progit.pdf 学习的笔记
git完整笔记
git config --list 检查git配置
第一步安装git时,先配置用户名和邮箱
git config --global user.name "example"
git config --global user.email johndoe@example.com
配置默认编辑器,不配置的话使用系统默认的编辑器
git config --global core.editor vim
git init 初始化一个git 仓库
git add 向暂存区添加文件
git commit -m "xxx" 提交到本地
git branch dev 新建分支 \\\ git checkout -B dev 新建并切换到dev
git checkout dev 切换到分支dev ///
git reset --hard HEAD^ 回退到上一个提交
git status -s 简洁查看status
git fetch --all 刷新所有的分支
忽略文件的配置
忽略所有.a文件
*.a
要跟踪lib.a,即使您忽略了上面的.a文件
!lib.a
只忽略当前目录的TODO
/TODO
忽略所有目录的build 目录
build/
忽略doc目录下的所有的子目录的.pdf文件
doc/**/*.pdf
告诉git忽略对已经纳入版本管理的文件 .classpath 的修改,git 会一直忽略此文件直到重新告诉 git 可以再次跟踪此文件
git update-index --assume-unchanged .classpath
告诉 git 恢复跟踪
git update-index --no-assume-unchanged .classpath
要停止跟踪当前跟踪的文件,可以使用git rm——cached
git rm --cached
git diff --cached === git diff staged 查看已经添加到暂存区的修改
git diff --check 设别可能的空格错误
git log master..origin/master 查看远程分支比本地分支多出的log提交
git commit -v 提交时可以查看修改了什么内容
直接添加并提交所有文件(慎用--避免添加进不必要的文件)
git commit -a -m "xxxxxx"
该命令删除log/目录中所有扩展名为.log的文件。或者,你可以这样做:git rm \*~ 此命令删除名称以~结尾的所有文件
git rm log/\*.log
在git中重命名文件使用
git mv file_from file_to 相当于 mv file_from file_to + git rm file_from + git add file_to
git log -p -n 显示最顶部的n个日志的提交信息和修改
git lg --stat 查看日志都修改了哪些文件
指定-v,它会显示Git存储的url,以便在读写远程文件时使用:
git remote -v
git remote rename pb paul 远程重命名
git remote remove paul 删除远程
================
注:serverfix是分支名,不是命令
================
git tag -a v1.4 -m "my version 1.4" git 添加注释标签
git tag -d v1.4-lw 删除标签
git push origin --delete <tagname> 删除远程标签
git push origin --delete serverfix 删除远程分支
git tag v1.4-lw 创建轻量级标签 不需要添加任何-a -s git show v1.4-lw 不会显示额外的标签信息,只会看到git提交
git push origin v1.5 只推送一个标签
git push origin --tags 向服务器推送所有的标签
git push origin serverfix >>向远程推送分支
git push origin 本地:远程 >>向远程推送分支且远程分支名和本地分支名可以不相同
git merge origin/serverfix 合并远程分支到当前分支
git checkout -b serverfix origin/serverfix 从远程分支切出一个分支到本地 ==》git checkout -b 本地分支名 远程名/远程分支名
git branch -u origin/serverfix 重新设置上游分支即本地分支所关联的远程分支
git clone --bare my_project my_project.git 克隆储存库已创建新的裸储存库
git archive master --prefix='project/' | gzip > xxx.tar.gz 将master分支的代码 压缩成一个不带git仓库的压缩包
git archive master --prefix='project/' --format=zip > xxx..zip 同上一样,只不过是zip格式的压缩包
git reflog git查看本地提交的临时历史记录,不会查看其他人的
git stash 隐藏到堆栈中
git stash list 查看堆栈隐藏列表
git stash apply 应用列表中最新的隐藏
git stash apply stash@{2} 应用列表中第三个旧的隐藏
git stash drop stash@{0} 删除列表中的第一个隐藏
git grep xxx git查找xxx -n 行号 -c 文件中的数量
git commit --amend 更改最后一次提交
git commit --amend --no-edit 更改最后一次提交但是不编辑提交信息
设置git服务器
参考之前的文章
深入学习配置repo管理多个git 可以查看文章Linux 服务器配置repo管理多个git