ChickenDreamFactory / fe-chicken

✨✨✨ 集锦 前端JavaScript 手写题,编程题,Not just for interviews

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用git

webVueBlog opened this issue · comments

1.配置环境

git --version

2.初始化git目录

git init

3.查看状态

git status

4.添加文件到暂存区

git add

项目下所有的文件变动一次性提交 使用git add --all

5.添加文件到版本库当前分支

git commit -m '详细信息‘

6.工作区,暂存区的关系

工作区:就是我们的项目文件夹不包括.git隐藏文件夹的区域

暂存区:Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区。 还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

7.查看修改日志(提交历史)

git log

$ git log
commit a73f6890fa66a68919b57707505b597c7cd8761b (HEAD -> master)
Author: 小xx<xxx@qq.com>
Date:   xxx6 15:09:10 2017 +0800
    first updata

8.版本回退

假如我修改了很多次代码 提交了很多的不同版本到我的本地版本库分支master上 可是我发现最后一个有问题 我需要回到之前的版本怎么办?

这时候需要使用命令 git reset --hard 编号(编号就是commit id(版本号) 不需要写出完整的版本号 一般前8位以上就ok了)

$ git reset --hard a73f6890fa
HEAD is now at a73f689 first updata

此时版本已经回退到指定的版本号了 你可以看看你工作区的文件 是不是回到了之前的修改(神奇!)

9.查看文件差异

git diff命令

每次工作区修改完成后可以使用(对比本地文件一开始的样子)

$ git diff
diff --git a/index.html b/index.html
index 50c3720..9052a59 100644
--- a/index.html
+++ b/index.html
@@ -1,6 +1,7 @@
 <!DOCTYPE html>
 <html lang="en">
   <head>
+    <h2>nihao</h2>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">

10.撤销修改

分为三种情况

1)只在工作区修改了 没提交到暂存区 $ git checkout -- index.html撤销工作区修改(其实 git checkout -- file 就是用暂存区的版本来代替工作区的版本)

2)修改提交到暂存区之后 又修改了

先使用$ git reset HEAD index.html 将暂存区的修改撤销掉,重新放回工作区,然后重复1)中的命令

3)已经提交到本地的版本库分支master上了(前提是没推送到远程版本库)

使用版本回退

  1. 删除文件

分为两种情况:

1)误删

使用 $ git checkout -- index.html

2)确实要删

使用 $ git rm index.html

$ git rm index.html
rm 'index.html'

然后 $ git commit -m 'delete index.html' 使本地版本库的当前分支删除文件

$ git commit -m 'delete index.html'
[master 4e36418] delete index.html
 1 file changed, 11 deletions(-)
 delete mode 100644 index.html

使用$ git remote add origin 你的仓库ssh地址将远程库和自己的本地库连接

$ git remote add origin git@github.xxx/git-demo.git

连接成功后查看远程仓库地址 git remote -v

第一次提交时使用 git push -u origin master (-u是使用流形式 速度更快 提交到远程库主分支master上)

git push origin master -f 强推

可以使用 git branch查看本地分支

也可以查看所有分支(包括远程库的分支) git branch -a

创建分支

git branch 分支名

切换分支

git checkout 分支名

创建并切换一步到位

git checkout -b 分支名

合并分支

git merge 分支名

删除分支

删除本地分支: git branch -d 分支名

删除远程库分支: git push origin --delete 分支名

多人协作的工作模式通常是这样:

首先,在本地创建和远程分支对应的分支,使用 git checkout -b 分支名 origin/分支名,本地和远程分支的名称最好一致

然后,建立本地分支和远程分支的关联,使用 git branch --set-upstream 分支名 origin/分支名

现在,可以试图用 git push origin 分支名推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用 git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用 git push origin 分支名推送就能成功!