Git 常用命令
1、创建版本库
![](https://img.haomeiwen.com/i11715204/b11a96d29f1cf261.png)
git init: 创建版本库之后,使用 git init 命令把这个目录变成Git可管理的仓库:
![](https://img.haomeiwen.com/i11715204/0e8b39b75144f15f.png)
2、git add <file>: 添加文件到仓库 。
git add -A 命令:可以一次添加多个文件(或修改的文件)到仓库
3、git commit -m <message> : 提交文件到仓库
<message>是对你提交的文件备注的说明
![](https://img.haomeiwen.com/i11715204/abf81a2c55ff2d48.png)
4、时光穿梭机 【可以在不同版本之间穿梭】
每次使用命令git commit -m <message>之后创建一个新的版本(即本地工作区的代码是最新的),并且会生成每个版本对应的commit_id
git log : 查看提交的历史版本记录和每个版本对应的commit_id. 【git 命令窗口没有关掉】
git reflog: 查看命令历史,可以查到每个版本对应的commit_id. 【即使git民工窗口关掉也可以查看】
如何跳到对应的版本呢???
git reset --hard commit_id: 跳到指定commit_id的版本
git reset --hard HEAD^: 跳到上一版本
git reset --hard HEAD~100: 跳到往前100个的版本
![](https://img.haomeiwen.com/i11715204/99130f47a60ceec1.png)
![](https://img.haomeiwen.com/i11715204/08ccbfe236d228d9.png)
5、撤销修改
①只在本地工作区修改,没有 git add <file> 到暂存区
使用指令 git checkout -- <file> 可以撤销本地工作区的修改。
②如果将修改添加到了暂存区,执行了git add <file>
先使用指令 git reset HEAD <file>将修改从暂存区撤回到本地工作区,再用指令 git checkout -- <file>撤销本地工作区的修改。
③如果将修改添加到了本地版本库,执行了git add 和 git commit 。【但是还没有将本地版本库推送到远程库中(没有执行 git push)】
这时就通过git reset --hard commit_id 来跳到上一个版本
6、删除文件
再把全部的文件都放到了版本库后,我们删除了工作区的一个文件( 执行rm <file>命令 ),这时候工作区和版本库是不一样得了,这时候git status会提示我们删除了一个文件。这时分两种情况:
①该文件是我们不需要的,现在要做的是把版本库里的该文件也删除掉
执行命令git rm <file> 并且 git commit -m <message>后,就把版本库中的该文件删除掉了。
②误删,现在要将版本库中的该文件恢复到工作区
执行指令git checkout -- <file>还原回来。
![](https://img.haomeiwen.com/i11715204/48b1ed3686dcc72b.png)
7、添加远程库
在GitHub上新建一个repository,这是一个远程库,用来存放最新的代码。
①将本地版本库和远程库关联起来
git remote add origin git@server_name:path/repo_name.git
②将本地版本库的master内容推送到远程库中
git push -u origin master
![](https://img.haomeiwen.com/i11715204/814d4d0dca0a4f25.png)
③以后只要本地版本库有更新就通过 git push origin master (git push)命令推送到远程库上。
8、克隆远程库
git clone git@server_name:path/repo_name.git,通过git clone 命令从远程库中克隆代码到本地版本库。
9、创建分支
![](https://img.haomeiwen.com/i11715204/dfb127ae137c3889.png)
git merge <name>命令是先切换到落后分支(master),在合并先进分支(dev)。最后 git branch -d <name>删除掉dev分支。
注意:
使用git merge<name>合并完最新分支的代码后,要通过git push origin mater 命令推送到远程仓库里。
使用git branch -d <name> 删除分支后不能同步到GitHub上的。要通过git push origin :dev命令来删除掉GitHub上的dev分支。