Git的基本操作

基本操作


安装与配置

$ 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

posted on 2017-01-21 19:27 qize 阅读(...) 评论(...) 编辑 收藏

导航

公告