抽空把git的命令整理了一下,它们还是很有用的。一些资料和代码适时地整理下,以后用的时候能方便点。远程用的coding,国内的速度能快点。github项目是多,不过速度在那,只能用于学习。
git
目录
下载与资源
官网: https://git-scm.com/
帮助:https://www.liaoxuefeng.com/
工作区和版本库
工作区(Working Directory):就是你在电脑里能看到的目录。
暂存区(StagingArea):英文叫stage, 或index。Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
创建版本库
apt install git
git help
git help -a
git help <name>
git init 初始化
git config –-global user.name 'name'
git config –-global user.email 'email'
/name:lemooljiang
/email:[email protected]
git config --unset user.name
git config --list
提交和删除版本
git status 查看状态
git add <name> 提交指定文件
git add . 提交多个文件到暂存区
git commit –m 'things' 提交到分支
git log 查看日志
git log –-oneline 单行查看日志
git mv <name> 修改暂存区文件名
git rm <name> 删除暂存区文件
git rm -f <name> 删除暂存区和本地文件
git checkout . 放弃所有的文件修改(未使用 git add 缓存代码时)。
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
git checkout -- <name>
版本回退
git revert HEAD^ 回退到上一个版本
git revert HEAD~7 回退上7个版本
git reset HEAD . 放弃所有的缓存 (已经使用了git add 缓存了代码)
git reset HEAD^ 文件退回到工作区(默认mixed)
git reset HEAD^ --mixed 文件退回到工作区
git reset HEAD^ --soft 文件退回到暂存区
git reset HEAD^ --hard 文件退回到没创建前(即删除!)
git reset commit_id
分支
git branch name 创建分支
git checkout name 切换到分支
git checkout –b name 创建并切换到此分支
git branch 查看当前分支
git branch –r 查看远程分支
git branch –a 查看全部分支
git diff 查看分支中文件是否有改动
git diff master..dev 比较两个分支间的区别
git merge name 快进合并到主分支 git merge dev
git merge --no-ff -m "merge with no-ff" dev 非快进合并,会将合并的提交写入日志
git branch –d name 删除分支
git branch -m dev2 dev 修改分支名
Bug分支
git stash 把当前工作现场“储藏”起来,等以后恢复现场后继续工作(dev)
git checkout master
git checkout -b issue-101 创建bug分支
git add readme.txt
git commit -m "fix bug 101"
git checkout master 切换回主分支并合并
git merge --no-ff -m "merged bug fix 101" issue-101
git checkout dev
git stash pop 恢复开发现场
Feature分支
每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。
git checkout -b feature-vulcan
git add vulcan.py
git commit -m "add feature vulcan"
git checkout dev
git merge --no-ff -m "merged feature" feature-vulcan
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除
远程
git remote add origin url 关联到远程
git remote add origin https://github.com/lemooljiang/git-test.git
git remote remove origin 删除远程关联
git remote –v 查看关联
git push -u origin master / git push -u origin dev 推送到远程
git push origin master /第二次推送无需加 u
git pull origin master 获取远程分支
# 从远程克隆分支
git clone [email protected]:michaelliao/gitskills.git
git clone https://github.com/michaelliao/gitskills.git
git fetch origin master 获取更新合并
git merge oigin master
alias别名
git config --global alias.ci commit 将commit简写为ci
git config --global alias.st status 将status简写为st
git config --global alias.lg 'log --oneline'
每个仓库的Git配置文件都放在 .git/config文件中,可以在这里修改别名
或是在 主目录(~).gitcinfig
SSH登录github
ssh-keygen -t rsa -C 'YouEmail'
cat ~/.ssh/id_rsa.pub
将显示的内容全部复制
登录 github-> Settings-> SSH and GPG Keys-> New SSH key 添加
测试是否添加成功
ssh -T [email protected]
忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
网络研习社系列文章:
- 微信小程序开发初体验 / 网络研习社#1
- 新技能:小程序空间当图床! / 网络研习社#2
- 小程序云开发中数据的传递形式 / 网络研习社#3
- 如何突破coreldraw的网络限制 / 网络研习社#4
- 我师网小程序初发布,大家多多指教 / 网络研习社#5
- 用github 做文件目录 / 网络研习社#6
- LNMP环境一键安装(一) / 网络研习社#7
- LNMP环境自定义安装(二) / 网络研习社#8
- 利用github做免费博客 / 网络研习社#9
- Nodejs,打开服务器黑匣子 / 网络研习社#10
- 一入前端深似海,聊聊vue.js / 网络研习社#11
- 我们想做的,vue都帮我们做好了 / 网络研习社#12
- vue和小程序一家亲 / 网络研习社#13
- vue的组件面面观 / 网络研习社#14
- vue-router路由的参数和设计 / 网络研习社#15
- webpack前端神器 / 网络研习社#16
- 用FileZilla作FTP文件服务器 / 网络研习社#17
- 连接FTP文件服务器的方法/ 网络研习社#18
- axios请求HTTP和vuex数据管理 / 网络研习社#19
- YouTube 视频下载利器—Youtube-DLG / 网络研习社#20
- Vue和django rest framework做前后端分离设计 / 网络研习社#21
- 解决跨域的两种办法 / 网络研习社#22
- gitbook制作生成电子书 / 网络研习社#23
- 用公私钥远程连接谷歌云 / 网络研习社#24
- 用谷歌云升级下科学上网工具吧 / 网络研习社#25
- 好用的工具screen,让你的程序安静地运行 / 网络研习社#26
- 缓存的妙用 / 网络研习社#27
学习下!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
你也懂程序!
Posted using Partiko Android
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
这不现学现卖嘛!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit