[关闭]
@zhongdao 2020-03-13T12:09:11.000000Z 字数 1506 阅读 1873

git,gitbook,kancloud发布电子书

未分类


git

可视化教程
https://learngitbranching.js.org/?demo

官方教程
https://git-scm.com/docs/gittutorial

https://git-scm.com/docs/giteveryday

一些git基本命令

建立本地仓库

再来复习一下创建新仓库的指令:

  git init
  //把这个目录变成Git可以管理的仓库
  
  git add README.md //文件添加到仓库
  git add .
  //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
  
  git commit -m "first commit" //把文件提交到仓库
  
  git remote add origin git@github.com:wangjiax9/practice.git
  //关联远程仓库
  
  git push -u origin master //把本地库的所有内容推送到远程库上
  
  git log // 查看提交历史
  
  
  HEAD表示当前版本
  
我们把文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。

命令行实例

本地库提交,并推送到远端库

  1. git add .
  2. git commit -m "first commit" //把文件提交到仓库
  3. git remote add origin https://github.com/junlicn/pserver.git
  4. git push -u origin master

空白机器从远端库拉下来,修改,再提交,再放回远端库

  1. git clone https://github.com/junlicn/pserver.git
  2. cd pserver/
  3. touch README.md
  4. git add .
  5. git commit -m "add README"
  6. # edit, git add; git commit;
  7. git push -u origin master

将远端库更新到本地库里。

  1. git pull https://junlicn@github.com/junlicn/pserver.git

推荐详细教程

多图推荐教程
https://marklodato.github.io/visual-git-guide/index-zh-cn.html

其他图表解释git

image_1e2ihr3naq1e1cr51k0e1cebpn520.png-532.7kB

https://unwiredlearning.com/blog/git-basic-for-beginners/

image_1e2ih3a241bnbu241eu51bdrgjf9.png-91.8kB

image_1e2ihbi5h1gc4ktj7h71de86l9m.png-946.8kB

image_1e2ihiast1530rb310e97n41gdc1j.png-404.7kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注