参考链接:廖雪峰的官方网站
Quick Learn Git !
快捷键
mkdir <dirname> 创建文件夹
cd <dirname>目录移动
pwd 显示当前目录
git init 把当前目录变成Git可以管理的仓库
ls -ah 显示所有文件,包括隐藏
git add <file1 file2> 添加文件到仓库
git commit -m "description..." 提交变更
git status 查看git状态
git diff <file> 查看file的修改情况
git log 查看git历史记录
git log -pretty=oneline 单行查看git历史记录
git reset --hard HEAD^ git回上一个版本
cat <file> 查看file的内容
git reset --hard 363824 版本回到commit id为363824的版本
git reflog 查看所有的历史git版本
git diff HEAD -- <file> 查看工作区和版本库最新版本区别
git checkout -- <file> 丢弃工作区的修改并回到版本库最新版本(stage和库取最新)
git reset HEAD <file> 撤销掉stage版本(unstage)
git rm <file> 从版本库删除文件
git工作区、暂存区概念

GItHub 设置
ssh-keygen -t rsa -C "wyp0596@qq.com"
一路回车
上GitHub添加Key

GitHub
git remote add origin git@github.com:wyp0596/learngit.git 关联
git push -u origin master 推送。。第一次推送用-u 以后不需要
git clone git@github.com:wyp0596/learngit.git 克隆
分支管理
git checkout -b dev 创建dev分支并切换分支
相当于
|
|
git branch 查看当前分支
git checkout master 切换回master分支
git merge dev 把dev分支合并到master分支上
git branch -d dev 删除dev分支
git log --graph --pretty=oneline --abbrev-commit
查看分支的合并情况
git merge --no-ff -m "merge with no-ff" dev 不使用ff模式合并分支dev
保存、恢复现场
git stash 保存现场
git stash list 现场列表
git stash pop 恢复现场,并删除存档(多现场要指定现场stash@{1})
git stash apply 恢复现场
git stash drop 删除存档
多人协作
- 首先,可以试图用
git push origin branch-name推送自己的修改;
- 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用
git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
- 查看远程库信息,使用git remote -v;
- 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
标签
git tag 标签列表
git tag v1.0 添加标签v1.0到当前commit
git log --pretty=oneline --abbrev-commit 查看commmit
git tag v0.9 622333 添加标签v1.0到指定commit
git show v0.9
$ git tag -a v0.1 -m "version 0.1 released" 3628164
带说明的标签
$ git tag -s v0.2 -m "signed version 0.2 released" fec145a 用私钥签名一个标签
git tag -d v0.1 删除本地标签
git push origin v1.0 上传标签
git push origin --tags 推送所有未推送标签
git push origin :refs/tags/v0.9 删除远程标签
自定义Git
git config --global color.ui true 加上颜色
偷懒流
|
|