做个笔记,从入门到高级的指令,新手请点击传送门进行系统的学习。
不适合新手看
不适合新手看
不适合新手看
1.创建版本库: mkdir folder
2.进入版本库的文件夹: cd folder
3.查看当前文件夹: pwd
4.将当前目录变成可以管理的仓库: git init
5.查看隐藏目录 ls -ah
6.在当前文件夹下创建文件 右键-新建文本文件。例如:readme.txt
7.将该文件提交到暂存区 git add readme.txt
8.提工作区的文件交到仓库 git commit -m “这里加上备注”
9.查看仓库提交状态 git status(这里会提示nothing to commit (working directory clean)),由于暂存区已提交完毕,所以会提示空
10.进入当前目录的文件,修改readme.txt里的内容,保存
11.对比仓库状态,此时会告知我们,readme.txt被修改了,关键词modify
12.对比修改的内容 git diff
13.添加提交的文件 git add readme.txt
14.提交 git commit -m “修改了xx些内容”
15.再次查看仓库状态,发现暂存区的内容为空 git status
16.第三次修改readme.txt文本内容,保存,提交。
17.接下来使用版本回退功能:查看提交历史 git log
18.如遇到太多提交内容,可以筛选主要内容 git log --pretty=oneline
19.选择好要回退的版本,使用指令 git reset --hard HEAD,其中一个表示回退上一个版本,如果要回退2个版本,就要写两个^
20.可以在cmd中查看当前文本内容 cat readme.txt
21.在回退以后,如果想恢复到新的版本,会发现git log里已经没有了记录,这时候需要用到所有的记录 git reflog
22.在列表中,前7位数字就是我们提交的id,commit_id 例如ea34578
23.恢复版本 git reset --hard commit_id 例如 git reset --hard ea34578
24.在add之前,要撤销自己的修改,使用 git checkout – readme.txt可以直接丢弃工作区的修改
25.在add之后,已经添加到暂存区了,在commit 提交之前,可以把暂存区的修改撤销掉git reset HEAD readme.txt此时,暂存区的修改将被撤销掉,接着丢弃工作区的修改,使用git checkout – readme.txt就可以将修改全部撤回
26.新建一个名为test.txt的文本文件,add,commit,然后使用rm test.txt删除文件
27.使用git status 查看删除当前修改的内容
28.如果要将它删掉,可以使用git rm test.txt,并且使用git commit 提交到版本仓库,如果误删,也可以使用git checkout == test.txt来恢复
30.从现在开始,自行注册GITHUB账户
31.打开用户主目录,在我的Windows电脑上,他的路径为C:\Users\k9579,在次路径下,如果可以看到id_rsa和id_rsa.pub这两个文件,则跳过这一步; 如果没有看到,打开Git Bash,输入以下指令:ssh-keygen -t rsa -C "youremail@example.com"如果没有意外,将会看到这两个文件,在我的电脑上,我反复创建了3次才成功显示出来。
32.登陆GitHub,打开“Account settings”–“SSH Keys”页面-点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
33.在github主页,点击右上角+号,New repository,在Repository name底部输入仓库名,然后点击绿色的Create repository 创建仓库完成
34.在Quick setup底部复制好xxx.git
35.将本地仓库关联到远程仓库git remote add origin xxx.git 取消关联git remote remove origin
36.提交到远程仓库 git push -u origin master
37.现在打开github主页,选择new repository,新建一个版本仓库second,选择Initialize this repository with a README,创建好后,远程仓库现在已经有了一个叫README的文件。
38.切换直Git Bash,克隆远程仓库到本地git clone git@github.com:yourname/second.git
39.正常情况下提示如下:
Cloning into ‘gitskills’…
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
40.输入$ cd gitskills/ 进入到版本仓库目录,并查看目录$ ls会看到README.md这个文件,现在我们已经把远程仓库克隆到了我们本地的版本仓库
41.创建与切换到新分支:git checkout -b dev,其中,git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch ‘dev’
42.查看当前分支: git branch,其中,前面的*表示当前HEAD的指针
43.当前分支在dev上,修改一下README.md文件,然后将它提交到本地仓库
44.现在dev分支工作完成,切换到master分支:git checkout master,查看当前README.md内容,发现它并没有被修改。
45.现在,把dev分支的改动合并到主分支master上git merge dev,现在发现,修改的地方已经合并到了主分支。
46.合并完成,可以删除dev分支 git branch -d dev,现在输入git branch发现,只有一个master了
47.因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全
48.解决冲突:新建一个分支,修改一下README.md的最后一行,加一个逗号
48.提交,切换到master分支上git checkout master,在文本最后一行加上一个句号,然后合并git merge feature1发现有冲突,此种情况下无法快速合并
49.此时可以使用cat README.md查看冲突的内容,修改后,再次提交
50.用带参数的git log 也可以查看到分支的合并情况git log --graph --pretty=oneline --abbrev-commit
51.查看分支合并图:git log --graph
52.合并后删除分支 git branch -d feature1()