手记

git参考手册--文字说明+git速查命令表(图片)

1.文件修改了查看文件状态:git status

撤销命令 -- 很重要,没有就是切换到另一个分支的命令了

git checkout -- readme.txt # 放弃已经修改的文件 本次修改被放弃(代码回退)

git add readme.txt

2.文件添加到暂缓区域:git status

git reset master readme.txt # 使用 "git reset HEAD <file>..." 撤出暂存区

git reset HEAD readme.txt # 撤销已经暂缓的文件(文件会放回工作区,已经修改的内容还会保存)

git checkout -- readme.txt # 如果要丢弃,用checkout

3.文件修改以后,没有添加到暂缓区域 查看文件是怎样的修改(差异)

git diff readme.txt # 查看单前代码和仓库代码差别

git diff HEAD -- readme.txt #和指定版本比较差异

- (红色) 这个是删除的行

+(绿色) 这个是新添加的行

4.查看提交的日志

git log # 日志是正序,最新修改在最上面

git log --pretty=oneline # 单行显示(便于浏览) 只有版本和commit内容

5.版本

HEAD 单前版本

HEAD^ 上一个版本

HEAD^100 上100个版本

git reset --hard HEAD^ 回退到上一个版本(本地仓库退到上次提交) 查看提交记录,就会少一条提交记录

6.版本回退和撤销

git reset --hard HEAD^ 回退一个版本(时光机退到前一个版本)

git log --pretty=oneline # 查看提交日志

git reflog # 查看所有的版本,可以做版本前进的时候使用 前面是版本号 (如果是pull 则不是提示信息)

git reset --hard 5123697 # 跳转到指定版本re

git log --graph # 查看git合并的路线图

7.名词

工作区 (Working Directory) 电脑上面可以查看的目录

版本库 (Repository) 隐藏的目录.git文件夹

README.md 项目自诉文件

8.删除文件需要三步

rm index.php # 删除工作区文件

git rm index.php # 删除仓库中的文件

git commit -m "提交" # 提交

9.远程仓库操作

origin 这个是远程仓库的意思

git push -u origin master # 第一次提交,和远程仓库关联

git push origin master # 提交代码,到远程仓库,master分支上

git clone https://github.com/link1st/forum.git # 克隆仓库

10.分支

git checkout -b dev # 创建分支,并切换到指定分支

git branch dev # 创建分支

git checkout dev # 切换分支

git branch # 查看所有分支,在当前分支上面会有一个*星号

git branch -va # 查看所有分支,包括远程分支

11.合并

git merge dev # 将dev分支和单前分支合并

git merge origin/master # 和远程主分支合并

git branch -d dev # 合并以后可以删除分支

git branch -D dev # dev上面还有代码没有合并,采用强制删除 (新feature分支) 不推荐

git merge --no-ff -m 'merget with no-ff' dev # 禁用快速前进模式

git默认合并代码以后,删除分支,之前的提交的任何信息都找不到

12.冲突

合并代码的时候回产生,

<<<<<<< HEAD # 主分支上面的代码
dev
======= # 下面是 冲突的分支上面的代码
Creating a new branch is quick AND simple.
>>>>>>> dev
13.切换到远程分支(本地没有和这个远程分支关联)

git branch -va # 查看所有分支,包括远程分支

* master                2571352 更改

  remotes/origin/dev    c6d60e0 修复bug

  remotes/origin/master 2571352 更改

git checkout -b dev origin/dev # 新建一个本地分支,并和远程分支关联需要注意的是,dev这个本地分支一定不要存在

添加一个远程分支,在配置文件中(.git/config)就可以查看到

[branch "dev"] # 本地分支名称

    remote = origin # 远端分支名称

    merge = refs/heads/dev # 远端关联分支名称
14.bug分支

正在工作的时候去修复另一个bug,本地修改的文件还不能提交

git stash # 将当前修复的内容隐藏 -> 这时候去解决bug

git stash list # 查看隐藏的内容

git stash apply # 恢复隐藏的内容(解决了bug以后)

git stash drop # 删除隐藏的内容

git stash pop # 恢复隐藏的内容并删除

15.多人协作:

git remote -v # 查看远程库信息

git push origin master # 推送到指定仓库

16.标签:

git tag # 查看所有标签

git tag v1.0 # 添加标签

git tag v0.9 6224937 # 指定版本添加标签

git show <tagname> # 显示标签信息

git tag -a v0.1 -m "version 0.1 released" 3628164 # 创建待说明的标签 -a指定标签名,-m指定说明文字

git tag -s v0.2 -m "私钥签名标签" fec145a # -s用私钥签名一个标签

git tag -d v0.1 # 删除标签

git push origin :refs/tags/v0.9 # 删除远端标签

全局配置文件:

vim ~/.gitconfig

自定义git

git config --global color.ui true # 提示高亮显示

.gitignore 添加忽略文件

*.class

*~ # mac git会自动忽略的文件

.DS_Store # mac git会自动忽略的文件

git add index.class # 会报错,必须强制添加 git add -f [file name]

git check-ignore -v index.class # 可以检测哪条规则错误

配置:

添加 --global 针对当前用户有效,如果不加则对当前仓库起作用

配置别名

git config --global alias.st status

log 高亮显示,方便浏览(全局的)

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

实例:

1.彻底删除某次错误的提交、并删除服务器上面的记录

git lg # 查看提交日志

git reset --hard de5afe9 # 回退到正确的版本

git commit -m '回退' # 添加信息

git push --force # 提交到服务器,强制的

本文来源于:
学习廖雪峰git网站整理的笔记

18人推荐
随时随地看视频
慕课网APP