一、本地库的建立
1、安装git,运行“Git”->“Git Bash”
2、进行设置(""引号不需要)
$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"
3、在本地默认路径创建一个本地库
$ mkdir learngit $ cd learngit $ pwd /c/Users/Panxu/learngit
4、初始化本地库
$ git init Initialized empty Git repository in C:/Users/Panxu/learngit/.git/
5、.git文件夹是隐藏的,用命令 ls -ah可以看的。之后在learngit目录下(或子目录下),放置代码文件。这里只是代码文件的复制,还没有真的添加到仓库中
$ ls -ah ./ ../ .git/
6、添加代码文件到本地库,如复制203_MTB.rb文件到库中(C:\Users\Panxu\learngit)。用add命令加入到待提交队列。
(add命令可以一次添加多个文件,如add file1.txt file2.txt file3.txt 用空格隔开)
$ git add 203_MTB.rb
7、用git commit 命令提交队列中的文件到库中,-m参数后面的内容是本次提交的说明,方便以后回溯版本
$ git commit -m testgit
8、查看仓库状态
$ git status
$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: 203_MTB.rb no changes added to commit (use "git add" and/or "git commit -a")
9、当代码文件被修改后,重新上传到仓库
$ git add 203_MTB.rb
$ git commit -m test2
10、用git log命令看上传记录
$ git log commit 06c5a2bacd546be9de9e186a31c2a5898b64e638 (HEAD -> master) Author: panxu <1419290286@qq.com> Date: Fri Jun 26 12:58:18 2020 +0800 test2 commit f2435418de4295cccb7a7ca56e87e0ec4d3e9b96 Author: panxu <1419290286@qq.com> Date: Fri Jun 26 12:53:49 2020 +0800 testgit
commit 后面是版本号的唯一id,用于版本回退定位的标识。HEAD是当前有效的版本的指针。
11、回退版本用git reset --hard HEAD^命令
$ git reset --hard HEAD^ $ git reset --hard HEAD^^ $ git reset --hard HEAD~100
$ git reset --hard HEAD^
HEAD is now at f243541 testgit
从上到下分别是,回退上一个版本,回退上上个版本,回退往上100个版本。最后一段代码是自己实际执行后的效果。
12、想要恢复被回退的版本怎么办呢?用git reflog命令查看被回退的版本id
$ git reflog 06c5a2b (HEAD -> master) HEAD@{0}: reset: moving to 06c5 f243541 HEAD@{1}: reset: moving to HEAD^ 06c5a2b (HEAD -> master) HEAD@{2}: commit: test2 f243541 HEAD@{3}: commit (initial): testgit
原来被回退的版本(标记为test2的文件),id是06c5a2b开头的,记住他,然后用git reset --hard 06c5命令恢复(id不需要打全,前面几位就够了)
二、github远程库的建立与关联
1、建立github账号,记住邮箱地址,然后输命令:
$ ssh-keygen -t rsa -C 邮箱地址
一路回车,用默认设置即可
2、找到下面这个路径:C:\Users\Panxu\.ssh,打开id_rsa.pub文件。同时登陆github,进入“Account settings”,“SSH and GPG Keys”页面
点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
3、创建一个新的仓库如:learngit
4、回到git终端,输入命令,建立推送关系:
$ git remote add origin [email protected]:BFMdeveloper/learngit.git
远程库的名字是 origin,这是Git的默认叫法。BFMdeveloper是GITHUB账户的名字,也是路径。learngit是上一步建的代码库的名字
如果提示origin已经存在:
$ git remote add origin [email protected]:BFMdeveloper/learngit.git fatal: remote origin already exists.
用$ git remote rm origin命令可以解除origin推送关系
$ git remote rm origin
5、建立好推送关系,就可以同步本地库到github了,第一次同步git push命令需要加-u参数,这样不仅会将本地master分支内容推送到远程新的master分支,还会把二者关联起来,这样后续推送或拉取就可以简化命令
$ git push -u origin master Enumerating objects: 6, done. Counting objects: 100% (6/6), done. Delta compression using up to 4 threads Compressing objects: 100% (4/4), done. Writing objects: 100% (6/6), 1.26 KiB | 644.00 KiB/s, done. Total 6 (delta 1), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (1/1), done. To github.com:BFMdeveloper/learngit.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.
6、成功后,在GitHub页面就可以看到内容了,现在本地文件做了修改,只需要如下命令即可
$ git push origin master