参考链接:廖雪峰的官方网站
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
加上颜色
偷懒流
|
|