本地删除:
git branch -d [branch name]
远程删除:
git push [仓库名] --delete [远程分支名]
分支改名:
git branch -m 【旧分支名】【新分支名】
注意:切换到新的分支后文件不会有改变,只有提交后新分支才有改动,才可以上传push,
并且,新分支未提交前,切换回旧分支文件不会变化。
若新分支出了问题要返回上一个状态,则先切换新分支命名error,并提交commit,然后返回前一个版本,则文件会变回原来样子。
推荐:在当前分支修改完之后,建立切换到一个新的分支并在新的分支提交,于是旧分支保持原来状态,新分支为新的状态。
git commit 命令将暂存区内容添加到本地仓库中。
提交暂存区到本地仓库中:
git commit -m [message]
[message] 可以是一些备注信息。
提交暂存区的指定文件到仓库区:
$ git commit [file1] [file2] … -m [message]
git commit --amend 命令为修改最新的提交,对最新的提交中的一部分进行修改
如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步。命令格式如下:
git commit -am “message”
查看日志(图像):
git log --graph
分支合并
一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支(将新的分支内容复制过来,是完全替换),而原来的新分支不变。
你可以使用以下命令将任何分支合并到当前分支中去:
git merge [需要合并到当前分支的分支]
git clone
我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。
克隆仓库的命令格式为:
git clone
如果我们需要克隆到指定的目录,可以使用以下命令格式:
git clone
参数说明:
repo : Git 仓库。
directory : 本地目录。
设置提交代码时的用户信息:
$ git config --global user.name “runoob”
$ git config --global user.email [email protected]
Git 基本操作
Git Learning
git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。
git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件对区别。
git diff 有两个主要的应用场景。
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
git mv 命令用于移动或重命名一个文件、目录或软连接。
git mv [file] [newfile]
如果新但文件名已经存在,但还是要重命名它,可以使用 -f 参数:
git mv -f [file] [newfile]
我们可以添加一个 README 文件(如果没有的话):
$ git add README
然后对其重命名:
$ git mv README README.md
$ ls
README.md
git remote 命用于在远程仓库的操作。
本章节内容我们将以 Github 作为远程仓库来操作,所以阅读本章节前需要先阅读关于 Github 的相关内容:Git 远程仓库(Github)。
当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用
1 git rm file_path
2 git commit -m 'delete somefile'
3 git push
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
git commit -m 'delete remote somefile'
git push
对所有文件取消追踪
git rm -r --cached . //不删除本地文件
git rm -r --f . //删除本地文件
在.gitignore中写入不需要追踪的文件路径,然后终端
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
注意:
不要误解了 .gitignore 文件的用途,该文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。
如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效。