Git的由来:
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper。
常见的代码托管平台:
Git 常见命令:
git init
在本地目录中初始化一个新的Git仓库
git config
用于配置用户的信息以及其他设置,在使用git之前您必须完成以下步骤。
git config --global user.name "your username"
git config --global user.email "your email"
git clone
用于将远程仓库的代码克隆到本地
<url>
克隆某个地址(url)的仓库,远程仓库的地址可以是本地的目录,也可以是例如github,giteee,gitlab一类的代码托管平台
--depth=<number>
克隆仓库并且保留number条提交历史,number在此处即表达我们克隆的深度。
-b <branch>
克隆指定分支下的仓库内容
git add
添加某个文件,或者目录到暂存区,用于告诉git你需要将哪些文件的更改包含在下一次的提交(commit)之中
添加一个或者多个文件到暂存区之中
git add [file1] [file2]
添加指定目录(文件)到暂存区,包括子目录:
添加当前目录下的所有文件到暂存区,包括子目录:
git add [dir]
添加当前目录下的所有文件到暂存区:
git add .
git status
查看当前仓库的状态,此时git会在你的终端输出以下内容
(此处演示为英文,如果您的git终端输出为中文也是同理的)
On branch master
No commits yet
Changes to be committed:
(use “git rm --cached <file>...” to unstage)
new file: makefile
输出内容分别为
- 您目前所在的分支
- 目前的提交
- 需要更改的内容
- 新增文件
- 修改文件
- 删除文件
git commit
用于将暂存区我们保存的更改文件添加到本地仓库,并且会生成一条提交(commit)
提交暂存区的更改到本地仓库
git commit -m "message"
[注] message 可以是你的备注信息
提交暂存区中的指定文件到本地仓库
如果你没有使用上述git add
命令暂存你的修改文件,可以使用
git commit -a
进行直接提交
git checkout
- 用于分支切换
切换分支:
git checkout <branch-name>
gi
git checkout <branch-name>
例如在您的仓库中有这几个分支:
-> master
test
您当前处于 master 分支,如果想要切换到test分支,我们可以使用
git checkout test
- 用于检出文件
检出文件:
git checkout -- <file>
将指定的文件恢复到最新的提交状态,撤销你对其的更改
git push
用于将本地的分支版本上传到远程仓库并进行合并
git push <remote-host-name> <local-branch-name>:<remote-branch-name>
remote-host-name:远程主机名
local-branch-name:本地分支名
例如,当你的远程主机名为origin ,本地分支名为master,远程分支名为master时:
git push origin master:master
例如,当你的rhost名为origin 本地分支名为master远程分支名为master时:
因为此时本地和远程分支名相同,上述命令可以简写为:
git push origin master
当你的远程版本与本地版本有差异,无法直接push时,你可以使用--force 参数来进行强制推送
git push --force origin master
--force 此处可以直接简单化为 -f
如果你想要删除主机内的某个分支,你可以使用--delete参数
git push origin --delete <branch-name>
参考资料:
[1] 百度百科--Git:https://baike.baidu.com/item/GIT/12647237?fr=ge_ala
[2]菜鸟教程--Git基本操作:https://www.runoob.com/git/git-basic-operations.html
[2]菜鸟教程(Git基本操作):https://www.runoob.com/git/git-basic-operations.html