【git 常用命令】骆驼祥子都说好-爱代码爱编程
Git 常用命令带图文
Git——————Order
$ git init -----------------------------------------------------------------git初始化
$ git clone +仓库地址 -----------------------------------------------克隆远程仓库克隆版本库的时候,所使用的远程主机自动被Git命名为
origin
。如果想用其他的主机名,需要用git clone
命令的-o
选项指定
$ git branch -a --------------------------------------------------------查看所有分支
$ git branch +分支名------------------------------------------------添加分支
$ git checkout +分支名----------------------------------------------切换分支
$ git add +文件名或目录下项目名+/----------------------------添加文件 单个修改
$ git commit -m ‘说明’ ---------------------------------------------提交修改
$ git add .---------------------------------------------------------------添加所有修改
$ git commit -am------------------------------------------------------提交已经追踪过且修改了的文件
$ git branch -v -------------------------------------------------------查看所有分支(本地)
$ git branch -r ----------------------------------------------------查看远程所有分支
$ git push origin +分支名 ------------------------------------------添加分支到远程
- 下图中yellow部分为地址信息 如当前在content分支 使用命令
git push = git push origin
'content'
其中与git push
命令等效的命令还有一个 就是git pull
下面会介绍到
$ git fetch --------------------------------------------更新提交记录记录到本地FETCH_HEAD文件中
如git fetch origin
分支名 则是添加远程分支最新提交记录到本地FETCH_HEAD文件中 下图为本地提交 默认情况下,git fetch
取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。$ git fetch <远程主机名> <分支名>
比如$ git fetch origin master
取回origin主机master分支的最新提交信息
$ git merge -------------------------------------------------------------分支合并
$ git rebase origin/master 此命令等效于$ git merge origin/master
在footer分支中 使用 git merge content 命令进行分支合并 输入:qa+回车退出信息页
$ git pull -------------------------------------------------------git fetch 与 git merge 两个命令的集合
- git pull 后不加参数跟git push一样,就是git pull origin 当前分支名,如果远程仓库没有跟本地当前分支名一样的分支的话,就会报错。git pull 等效于先执行 git fetch origin 当前分支名, 再执行 git merge FETCH_HEAD. 拉取远程分支与本地分支合并
$ git pull <远程主机名> <远程分支名>:<本地分支名>
Fast forward(快进模式)表示快进模式合并,即直接将当前分支指针指向要合并的分支
Fast forward出现的两种情况
git push 和 git pull 远程分支与本地分支合并
git merge branch 本地两个分支进行合并
说明: 这里的footer分支是基于master创建的, footer分支有新增提交 master分支没有新增提交 两个分支没有分叉 这里就可以对落后提交的master分支就会使用快速模式进行合并,将footer分支合并到master
使用Fast forward 会出现一个弊端 也就是提交合并后很难察觉那个提交是属于哪个分支提交的
这个时候就需要使用 --no-ff
-m'说明信息'
方式进行提交 表示禁用Fast forward
模式
$ git merge --no-ff -m’提交信息’ --------------------------------------禁用快速模式进行多分支合并
$ git relog-------------------------------------------------------查看全局日志
$ git commit --amend --------------------------------------对之前的commit 提交进行修改
这里的之前指最近的commit,而且没有push到远程 内容,提交信息都可以修改
$ git log ----------------------------------------------------------查看当前提交日志记录
$ git stash ------------------------------------------------------------暂存本地修改
使用场景:当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候 可以先对工作更改进行暂存 (在你的项目的 .git 目录内,准确的说是 /.git/refs/stash) 然后再切换到其他分支工作, 暂存是后进先出(LIFO)方式保存的.
- 查看暂存列表
$ git stash list
- 为暂存填写说明信息
git stash save '说明'
- 最近一次存储修改的所有文件和内容
git stash show -p stash@{0}
- 取回在暂存区的更改
git stash pop
$ git remote -v --------------------------------------------------------查看项目远程地址
> $ git remote -add --------------------------------------------------------添加本地配置中的一个远程仓库
使用场景:为了减少冲突的发生可以事先在本地配置一个远程仓库git remote add 仓库名 远程地址
$ git branch -d +分支版本号 --------------------------------------删除本地分支
$ git checkout -b 新分支名 删除前的commit id ----------------------------------------找回分支
找到conent 分支最后一次提交的commit id
$ git push origin -d +分支名 -------------------------------------删除远程分支
$ git diff-----------------------------------------------------------------比较差异
可以比较 版本库中不同commit、分支的diff信息 以图为比较两个分支上最后 commit 的内容的差别 为详细信息 想要查看简略信息 在此命令后 加上 --start
$ git config ------------------------------------------------------------查看git配置信息
$ git status ------------------------------------------------------------查看所有git状态(远程和本地通用)
$ git reset -----------------------------------------------------版本回退
以下示例为回退到指定版本号的版本
提交信息切换分支
骆驼祥子:嗯 我认为我没看懂是因为我不够努力 还是继续去拉黄包车吧~~~~