基本操作
安装与配置
$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com
$ git config --global core.editor Vim//指定文本编辑器
$ git config --list //查看配置信息
init
//初始化
git init
//创建与初始化
git init newrepo
add与commit
git add *.c
git add README
git commit -m '初始化项目版本'
git status -s //查看项目的当前状态。
git add 快照的内容写入缓存区
git commit 将缓存区内容添加到仓库中。
clone
$ git clone https://github.com/zhaoqize/study-work.git study-work
vim
//用vim编辑器打开a或并创建a文件
vim a
AM
状态的意思是,这个文件在我们将它添加到缓存之后又有改动
status
//命令用于查看项目的当前状态。命令的时候加了 -s 参数,以获得简短的结果输出。
git status -a
diff
git diff
- 尚未缓存的改动:git diff
- 查看已缓存的改动: git diff –cached
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff –stat
rm(删除文件)
git rm file
注意:这里的rm只能删除已经add并且已经commit到git中的文件。
恢复文件
假如删除文件之后,我们想恢复文件。不用担心,git中的本地版本中都有记录。
使用:git ls-files --deleted
查看删除的文件
使用:git checkout a
恢复被删除的文件
MV(重命名)
git mv 原文件名 新文件名
删除tag
git push origin --delete tag <tagname>
Git分支操作
创建本地分支:git branch (branchname)
查看本地分支:git branch
查看远程仓库分支:git branch -r
查看远程与本地的所有分支:git branch -a
切换分支:git chenckout branchname
创建与进入分支:git checkout -b (branchname)
删除分支本地分支:git branch -d (branchname)
删除远程仓库分支: git push origin --delete (branchName)
不合并强制删除分支git branch -D (branchname)
创建分支,进入分支创建新文件,返回主线,可以看到文件也存在于主线
删除支线分支,不影响主线
使用分支将工作切分开来,从而让我们能够在不同上下文中做事,并来回切换
查看文件内容 cat +
文件名
这里我们实例操作:以https://github.com/zhaoqize/node-scanDeskImg.git
为例子
1.clone仓库至本地
git clone https://github.com/zhaoqize/node-scanDeskImg.git [name]
这时候我们打开文件夹,看到里面的文件是github的master分支上的文件。
total 6
-rw-r--r-- 1 Administrator 197121 2964 一月 20 10:42 app.js
-rw-r--r-- 1 Administrator 197121 73 一月 20 10:42 package.json
-rw-r--r-- 1 Administrator 197121 338 一月 20 10:42 README.md
2.需要进入electron分支操作。
先通过命令git branch -r
查看clone的仓库分支情况。
origin/HEAD -> origin/master
origin/electron
origin/master
3.checkout我们需要的electron的分支代码并创建一个本地分支[分支名称与远程仓库的一样最好]。
git checkout -b electron origin/electron
现在我们再来查看我们文件夹中的目录
total 14
-rw-r--r-- 1 Administrator 197121 3290 一月 20 10:47 app.js
-rw-r--r-- 1 Administrator 197121 1780 一月 20 10:47 index.html
-rw-r--r-- 1 Administrator 197121 1082 一月 20 10:47 main.js
-rw-r--r-- 1 Administrator 197121 271 一月 20 10:47 package.json
-rw-r--r-- 1 Administrator 197121 193 一月 20 10:47 README.md
4.修改代码
5.提交缓存与提交。
Administrator@RWERNNQIG0NBUI2 MINGW32 /d/node-scanDeskImg (electron)
$ git commit -m'qiniu'
[electron b088f1b] qiniu
1 file changed, 1 insertion(+)
6.提交至远程分支electron
git push origin electron
查看历史记录
git log --oneline
$ git log --oneline --graph //查看历史中什么时候出现了分支、合并。以下为相同的命令,开启了拓扑图选项
逆向显示所有日志 git log --reverse --onelin
添加标签
git tag
查看所有标签
git tag -a
带-a就是一个带注解的标签
清屏
clear
撤销修改
- 撤销工作区的修改
git checkout -- file
- 撤销暂存区的修改
git reset HEAD file
- 撤销已经commit的修改
git reset --hard HEAD^ 撤销到上一次的commit
git reset --hard HEAD^^ 撤销到上上次的commit
git reset --hard HEAD~100 撤销到之前第100的commit
git reset --hard 版本号 撤销或者回到指定的版本号
- 版本比对
查看工作区文件与版本区的区别
git diff HEAD -- readme.txt