您的位置:首页 > 编程语言

Git:本地操作的一些命令

2017-06-22 17:17 141 查看
$ mkdir learngit
$ cd learngit
$ pwd


$ git init
Initialized empty Git repository in xxxxxxx


ls
ls -ah 显示所有文件(含隐藏文件)

git add readme.txt


git status
git add f1.txt f2.txt
git add *

git status

git commit -m "xxxx"
xxxx可以写一些备注,可以写自己做了哪些事。

add * 是什么意思?

git diff
如果修改了readme.txt,可以用git diff查看修改情况。

此时可以用git status查看状态。

再次提交,需要先add,再commit。

git log
查看历史记录

git log --pretty=oneline

HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git
reset --hard commit_id


穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。

暂存区 stage

主分支 master

工作区……

每次修改,如果不
add
到暂存区,那就不会加入到
commit


在工作区中修改了文件,还没有add到stage,可以用checkout命令撤销工作区中的修改。

qcy@qcyfred-pc MINGW32 /d/GitHub/learngit (master)

$ git status

On branch master

Changes not staged for commit:

(use "git add <file>..." to update what will be committed)

(use "git checkout -- <file>..." to discard changes in working directory)

modified: readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

qcy@qcyfred-pc MINGW32 /d/GitHub/learngit (master)

$ git checkout readme.txt

qcy@qcyfred-pc MINGW32 /d/GitHub/learngit (master)

$ git status

On branch master

nothing to commit, working tree clean

在工作区中修改了文件,又add到了stage。现在要撤销。

(1)

qcy@qcyfred-pc MINGW32 /d/GitHub/learngit (master)

$ git add readme.txt

qcy@qcyfred-pc MINGW32 /d/GitHub/learngit (master)

$ git status

On branch master

Changes to be committed:

(use "git reset HEAD <file>..." to unstage)

modified: readme.txt

$ git reset HEAD readme.txt

Unstaged changes after reset:

M readme.txt

(2)

$ git status

On branch master

Changes not staged for commit:

(use "git add <file>..." to update what will be committed)

(use "git checkout -- <file>..." to discard changes in working directory)

一不小心删除了工作区中的文件

rm f1.txt

git checkout f1.txt

可以从仓库里找出来(只要提交过)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  github git