Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git 学习命令与总结 #8

Open
ClarenceC opened this issue May 23, 2017 · 0 comments
Open

Git 学习命令与总结 #8

ClarenceC opened this issue May 23, 2017 · 0 comments

Comments

@ClarenceC
Copy link
Owner

ClarenceC commented May 23, 2017

官网下载的

安装包 地址

image

git 命令

git init

把这个目录变成Git可以管理的仓库

git add <file.txt>

把文件添加到仓库

git commit [-m] 参数

把添加的文件推送到Repository, 添加参数[-m]可以填写更新信息

git status

查看当前仓库提交状态

git diff

查看当前仓库文件更改状态

git log

查看当前仓库提交日志

git reset

回到以前的版本,或者选择将来的版本,一般按照 commit ID 操作.

git reflog

记录每一步的操作,可以通过这个命令查找恢复之前的操作.

git checkout

最为常用的两种情形是创建分支和切换分支 教程

git rm

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

git remote

远程同步
git remote add origin git@github.com:michaelliao/learngit.git (添加远程github仓库)

git push <远程主机名> <本地分支名> : <远程分支名>

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

git fetch
同步远程服务主机分支下来本地mirrir进行比较,比较后再merge.

git fetch -prune
同步远程分支与本地分支,把与远程分支不对应的本地分支删除.

git log
查看提交的记录,查看commit的各记录.

commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Tue Aug 20 15:11:49 2013 +0800

    append GPL

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Tue Aug 20 14:53:12 2013 +0800

    add distributed

commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Mon Aug 19 17:51:55 2013 +0800

    wrote a readme file

git log --pretty=oneline
当然了,在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看

$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Tue Aug 20 15:11:49 2013 +0800

    append GPL

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Tue Aug 20 14:53:12 2013 +0800

    add distributed

commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Mon Aug 19 17:51:55 2013 +0800

    wrote a readme file

git log --pretty=oneline
git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数

$ git log --pretty=oneline
3628164fb26d48395383f8f31179f24e0882e1e0 append GPL
ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed
cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file

git reset --hard HEAD^
还可以继续回退到上一个版本.

$ git reset --hard 3628164
退回某一个commit Id 的版本.

遇到的问题:

添加文件 fatal: pathspec 'readme.txt' did not match any files 解决方法地址

阮一身git学习
liaoxuefeng git 学习

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant