学习使用GIT

1 安装git。

直接从Git官网直接下载安装程序,然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

2 创建一个版本库(repository)。

$ mkdir learngit    //创建文件夹
$ cd learngit       //进入文件夹
$ pwd               //现实当前路径
/Users/michael/learngit

3 通过git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

4 添加文件  git add的时候必须在已经是git的目录下。

$ git add readme.txt

 提交文件

$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

git commit命令,-m后面输入的是本次提交的说明。

1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。

5 git status命令。查看仓库状态。

$ git status
On branch master
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    modified:   readme.txt

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

6 git diff 查看修改了什么。

$ git diff readme.txt 
diff --git a/readme.txt b/readme.txt
index 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 log
commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
Author: Michael Liao 
Date:   Fri May 18 21:06:15 2018 +0800

    append GPL

commit e475afc93c209a690c39c13a46716e8fa000c366
Author: Michael Liao 
Date:   Fri May 18 21:03:36 2018 +0800

    add distributed

commit eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0
Author: Michael Liao 
Date:   Fri May 18 20:59:18 2018 +0800

    wrote a readme file

最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file

git reset命令,退回上一个版本。

$ git reset --hard HEAD^
HEAD is now at e475afc add distributed

在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

$ git reset --hard 1094a
HEAD is now at 83b0afe append GPL

也可以这样,退回版本号。

git reflog用来记录你的每一次命令。

10 git checkout -- file命令。撤销工作区的修改。也就是取消刚才的修改。

$ git reset HEAD readme.txt
Unstaged changes after reset:
M    readme.txt

11 删除文件

$ rm test.txt

远程仓库,关联github或者gitee。

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "[email protected]"

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意名称,在Key文本框里粘贴id_rsa.pub文件的内容:

这一步的意思是把你本地git的密匙给了github或者gitee,这样他们就关联起来啦。

第三步:在github或者gitee建立仓库。最好名字和本地仓库一样。

第四步 运行命令:

$ git remote add origin [email protected]:dongaifeng/learngit.git

这一步的意思是把本地项目跟你在github,gitee上的仓库关联起来。这个地址可以在github上找到。

学习使用GIT_第1张图片

第五步 就可以把本地库的所有内容推送到远程库上:

$ git push -u origin master
Counting objects: 20, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (20/20), 1.64 KiB | 560.00 KiB/s, done.
Total 20 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), done.
To github.com:michaelliao/learngit.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

git push命令,实际上是把当前分支master推送到远程。加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,以后的推送就不用加了。

$ git clone [email protected]:michaelliao/gitskills.git

   git clone  是从远程库克隆到本地库。

git remote -v
origin    [email protected]:dongaifeng/learngit.git (fetch)
origin    [email protected]:dongaifeng/learngit.git (push)

git remote -v   是查看本地库都关联了什么远程库。

git remote rm origin

git remote rm   是删除关联 后面跟的是远程库名称。

 

 

你可能感兴趣的:(学习使用GIT)