Git常用指令

来源:互联网 发布:usb网卡改mac 编辑:程序博客网 时间:2024/06/05 04:04

$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"

从大约七月十号的样子,开始学习Git,到今天下午看完了所有的教程之后,准备写篇博客记录这些天的所得。

这是我长这么大第一次自己写博客,可能是因为过了博客的时代了不流行了吧。

Git常用指令

安装

Linux/Unix:
sudo apt-get install git
Windows就不详细说了,直接无脑下一步就可以了。

安装完成之后,还需要设置自己的名字和邮箱地址:
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"

创建版本库

$ mkdir learngit           // 新建一个文件夹learngit$ cd learngit   // 打开learngit文件夹$ pwd   // 查看当前所在的位置/Users/michael/learngit$ git init                 // 将现在所在文件夹升级为Git版本库Initialized empty Git repository in /Users/michael/learngit/.git/

提交文件

$ touch readme.txt                              // 使用Linux命令创建一个文本文件$ git add readme.txt// 将文件添加到Git的暂存区$ git commit -m "wrote a readme file"           // 将文件提交到Git仓库,并且添加备注[master (root-commit) cb926e7] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt

时光穿梭机

使用 git status 命令,随时掌握工作区的状态
$ git status                                     // 使用 git status 查看工作区状态# On branch master# Changes to be committed:#   (use "git reset HEAD <file>..." to unstage)##       modified:   readme.txt                   // 显示 readme.txt 被修改了#

如果 git status 告诉你有文件被修改过,用 git diff 可以查看修改内容
$ git diff readme.txt diff --git a/readme.txt b/readme.txtindex 46d49bf..9247db6 100644--- a/readme.txt+++ b/readme.txt@@ -1,2 +1,2 @@-Git is a version control system.+Git is a distributed version control system. Git is free software.

用 git log 可以查看提交历史
$ git logcommit ea34578d5496d7dd233c827ed32a8cd576c5ee85Author: Michael Liao <askxuefeng@gmail.com>Date:   Tue Aug 20 14:53:12 2013 +0800    add distributedcommit cb926e7ea50ad11b8f9e909c05226233bf755030Author: Michael Liao <askxuefeng@gmail.com>Date:   Mon Aug 19 17:51:55 2013 +0800    wrote a readme file

用 git reflog 查看命令历史
$ git reflogea34578 HEAD@{0}: reset: moving to HEAD^3628164 HEAD@{1}: commit: append GPLea34578 HEAD@{2}: commit: add distributedcb926e7 HEAD@{3}: commit (initial): wrote a readme file

HEAD 指向的版本就是当前版本,Git允许我们在版本的历史之间穿梭
$ git reset --hard HEAD^                // HEAD表示当前版本,一个^表示上一个版本,两个^^表示上两个版本HEAD is now at ea34578 add distributed  // 当前的版本号简写为 ea34578$ git reset --hard commit_id            // 回到指定的版本号

丢弃工作区的修改
$ git checkout -- file                  // file 表示 你要丢弃的文件名

丢弃暂存区的修改
$ git reset HEAD file                  // 表示丢弃暂存区的提交$ gut checkout --file                  // 表示丢弃工作区的文件

删除文件
$ rm test.txt                          // 删除 test.txt

下面的是一些常用的命令,想学习的朋友可以到廖雪峰官网去看看,蛮详细的。

 git init    初始化Git仓库


添加文件到Git仓库
git add<file>   可反复多次使用添加多个文件
git commit   完成


git status   可以随时掌握工作区的状态
git diff       可以查看修改内容


HEAD         指向当前版本
git reset --hard commit_id     跳到你想到的版本
git log        可以查看提交历史
git reflog    可以查看命令历史


git checkout -- fil    没有提交,撤销更改
git reset HEAD file   添加到了暂存区,放弃修改


git remote add origin ssh地址    关联一个远程库
git push -u origin master   第一次推送master分支所有内容
git push origin master    推送最新修改


git clone ssh地址    从服务器克隆一个仓库
Git支持多种协议,ssh最快


git branch    查看分支
git branch <name>   创建分支
git checkout <name>    切换分支
git checkout -b <name>   创建+切换分支
git merge <name>    合并某分支到当前分支
git branch -d <name>    删除分支


当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,在提交,合并完成。
用git log --graph 命令可以看到分支合并图。


开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name> 强行删除。



















原创粉丝点击