1.0 Git 学习
1.1 git 用户设置
- git config --global user.name “Daniel”
- git config --global core.editor nano // set the editor to a simple one (optional)
- git config --global user.email “your.email@mail.utoronto.ca”
- gitk 查看分支线路
2.0 基础
2.1 查看
git status | 工作区状态 |
---|---|
git reflog | 显示之前下的指令 |
git log --graph --pretty=oneline --abbrev-commit | 查看分支记录(用图像) |
git branch | 查看当前分支 |
git checkout | 移动到ID的步骤 |
git add filename.txt | 递交到缓存区 |
git commit -m “change information” | 递交到库 |
2.2 显示
git show | 显示各种类型的对象 |
---|---|
git show v1.0.0 | 显示这个标签指向的对象 |
git show v1.0^{tree} | 显示这个版本里的所有文件文件 |
2.2 版本更改
git reset --hard HEAD^ | 返回上一个版本 |
---|---|
git reset --hard | |
git reset --head HEAD@{1} | 回到原来版本 |
git checkout – filename.txt | 如果遇到已经delete文件时,但是要复原 用 |
git rm filename.txt + git commit | 删除git里保存的文件, 真删除 |
git checkout – filename.txt | 把filename文件在工作区里全部撤销 |
git reset HEAD <filename.txt> | 可以吧暂存区的修该撤销掉unstage |
2.3 远程
-
远程, 分支 (以下dev表示一个分支)
-
远程仓库的默认名称是origin。
git remote 列出已经存在的远程分支 git remote -v 显示对应的更详细的信息: git remote show origin 显示origin里的所有内容 git remote rm master 删除远程分支 git remote rename pg pual 把远程库的名字换成pual 原来一般是origin -
远程递交
git push 上传本地所有分支代码到远程对应的分支上。 git push origin master 推送分支,就是把该分支上的所有本地提交推送到远程库 git clone 克隆整个仓库 ex: git clone git@github.com:xujintao1000/gitskills.git –
-
融合文件
git merge dev 用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。 git merge --no-ff -m “Comment” dev 请注意–no-ff参数,表示禁用Fast forward:
2.4 分支
–高级处理
git checkout master | switch to branch “master” |
---|---|
git checkout -b dev | git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: git branch dev, git checkout dev |
git branch -d dev | 删除dev分支, 不能删除现在正在使用的分支 |
git branch -r | 查看远程工作区里的分支 |
git branch -a | 显示所有远程和本地的分支 |
git branch -r -a origin/branch-name | |
git branch | 创建新的分支 |
git switch -c dev | 创建并切换到新的dev分支 |
git switch dev | 直接切换到已有的master分支 |
2.5 暂时储存工作区
git stash 存储工作区
git stash list 查看储存的工作区
git stash apply 回复,
git stash drop 删除储存的工作区
git stash pop 回复的同时也删了
-
如果要丢弃一个没有被合并过的分支,可以通过 git branch -D 强行删除。
-
如果其他人要在dev分支上开发,就必须创建远程origin的dev分支到本地
git checkout -b dev origin/dev -
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建
用命令git branch --set-upstream-to origin/。 -
git rebase 可以把本地未push的分叉提交历史整理成直线
2.6 标签
git tag v1.0 | 创建标签为v1.0 |
---|---|
git tag v0.9 f52c633 | 在f52c633打上一个标签为v0.9 |
git show | 显示当前工作区的标签 |
git show v1.0 | 显示制定的标签在哪\ |
-
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -a v0.1 -m “version 0.1 released” 1094adb
-
git tag -d v1.0 删除标签
2.7 撤销
-
撤销已经commit的文件
git revert HEAD 撤销前一次 commit git revert HEAD^ 撤销前前一次 commit git revert 撤回到指定commit-id git revert --abort 取消解决冲突