Git安装与简单配置
- 下载git安装包进行安装
- 安装完成,运行命令窗口中通过git --version 可查看安装版本
- 进入项目仓库,进行git配置:
git config --global user.name seperinna
git config --global user.email seperinna@163.com
git config --global --add user.name test //添加test
git config --list --global //查看global中config中键值对
git config --global --unset user.name //删除user.name
git config --global alias.br branch //给branch命令起别名br
git config --global alias.lol “log --oneline --decorate --graph --all” //给log命令起别名lol
注:git config --help //可查看git config文档
Git基本工作流
- 进入工作项目目录下,初始化git仓库:git init 或 git clone
- 工作区添加文件至暂存区,并查看文件状态: git add 文件名, git status
- 暂存区提交到历史记录中:git commit -m “initial commit”
- 删除工作区以及暂存区中的文件引用:git rm 文件名, 如果只想删除暂存区的文件引用:git rm --cached 文件名
- 重命名文件:git mv test1 test2
- 避免某些文件被跟踪:在工作项目目录下创建.gitignore文件,并将该文件添加至仓库历史中,以便仓库共享
Git本地分支及合并
- 拉取本地新的分支: git branch 新分支名
- 切换到该分支下:git checkout 分支名
- 分支做修改后添加内容并提交:git add 文件名,git commit -m “modify commit”
- 切回到master分支:git checkout master
- 查看git提交日志:git log --oneline --decorate --graph --all
- 给每次commit提交打tag:git tag tag名字 提交号
- 直接切换到某commit提交tag名,并新建分支:git checkout -b tag名称
- 修改并进行添加: git add 文件名
- 保存工作区和暂存区内容:git stash save -a “stash message”
- 查看保存的内容:git stash list
- 将工作区和暂存区还原回去,stash内容被清除:git stash pop --index stash@{0} ,如想一次性全部清除stash内容: git stash clear, 如只想将工作区和暂存区还原回去,stash内容不被清除:git stash apply --index stash@{0}, 如想删除stash内容:git stash drop stash@{0}
- 修复内容做提交:git commit 文件名
- 切换到master分支:git checkout master
- 合并新分支:git merge 新分支, 取消合并:git merge --abort
Git查看与对比历史记录
- git show 提交号 //查看某提交号版本提交记录
- git show HEAD //查看当前提交
- git show --oneline --stat master^2 //查看master分支的第二次提交的统计简要信息
- git log --oneline --decorate --graph --all //所有分支提交日志记录
- git diff //查看工作区和暂存区的差异
- git diff --cached //查看暂存区的差异
- git diff HEAD HEAD~2 --master.txt //查看master.txt文件中当前提交版本与前两个版本提交的差异
Git撤销修改
- git checkout – 文件名 //撤销工作区的修改,使用暂存区的内容覆盖工作区的内容
- git reset 文件名 //撤销暂存区的修改,使用当前历史提交的内容覆盖暂存区的内容
- git checkout 提交tag – 文件名 //撤销工作区和暂存区的修改,使用某个历史提交的内容覆盖工作区和暂存区的内容
- git reset 提交tag 文件名 //撤销暂存区的修改,使用某个历史提交的内容覆盖暂存区的内容
- git clean -f //清除工作区的未添加的内容
- git clean -X -f //清除工作区中.gitignore中不跟踪的文件内容
- git revert HEAD/提交号 // 撤销当前/或提交号的提交内容
Git远程协作
- github远程仓库中SSH设置:
- 在本地终端命令窗口中输入
ssh-keygen -t rsa -C “seperinna@126.com”(github邮箱),生成key
ssh-agent -s
ssh-add ~/.ssh/id_rsa 保存key - 打开~/.ssh/id_rsa文件,将其中key信息复制粘贴到github中ssh设置中
- 验证连接到github,ssh -T seperinna@126.com
- 切换到工作目录,将远程仓库克隆到本地
- git clone 远程仓库地址
- 本地拉取远程仓库里的更新
- git fetch
- 本地当前指针指向远程master最新提交版本
- git merge origin/master
- 从远程拉取至本地并合并至最新版本
- git pull =(git fetch+git merge origin/master)
- 本地提交推送至远程分支test
- git push origin test
- 删除远程分支
- git branch -d test //切换到master分支下,删除本地test分支
- git push --delete origin test //删除远程test分支
- git push origin :test //删除远程test分支