Git

Git是什么

Git的强大功能在于我们可以将工作区的工作内容添加到暂存区再提交到版本库,版本库存有提交过的所有文件,以便跟踪文件的修改删除,拯救工作区的误操作,远程仓库github则被利用与团队合作。

                                             

如上图所示,如果我们想在本地建立一个版本库就要先0.下载一个版本控制软件git bush并安装,然后我们就可以将新建的文件下1.创建一个版本库来管理我们的文件了,创建完毕后我们必须将我们的1.文件提交到本地仓库嘛,一旦文件提交本地仓库,本地仓库就有了第一次提交的版本,那么当我们在工作区多次进行文件的改动并且每一次都提交到本地仓库,本地仓库就有了多个版本的内容(如上图的123版本),而版本库提供了多种操作比如3.撤销工作区的错误删除,版本回退等,使你可以轻松地回到以前,git还提供了多分支管理,比如团队合作中你开发功能1,你的队友开发功能2,那么你可以通过创建属于自己的分支,在你开发的过程中提交到自己新建的分支而不影响队友的工作。

1.创建版本库及提交文件的例子

1.     mkdir learngit  //创建名为learngit的空仓库 2.     cd learngit  //转到learngit目录下 3.     pwd  //查看当前目录路径 4.     git init // 把这个目录变成git可以管理的仓库

5.     在目录下手动创建1.txt文件

6.     git add 1.txt //将1.txt 文件添加到仓库

7.     git commit –m “first add 1.txt” //将文件提交到仓库

2.修改文件后查看修改内容并提交

1.     git status //查看仓库当前状态

2.     git diff 1.txt //查看修改的具体内容

3.     git add 1.txt //添加修改过的文件

4.     git commit –m “add a word hello” //提交修改过的文件

5.     git push origin master

注意:在commit时可能出现文件提交不上仓库的例子

.git目录下index.lock文件锁住了index文件导致commit指令不可用,根据上图提示,将index.lock文件删除掉再运行一次commit指令就行(删除后不影响git的使用)

3.撤销修改

git checkout – 1.txt  //撤销在工作区的修改(解决工作区误删误修改问题)

4.删除文件

1.在工作区删除

2.git rm 2.txt  //在版本库中删除2.txt

3.git commit –m “delete 2.txt”

5.执行git status后的提示

1.文件还未被添加到版本库

2.文件被修改了,但还未准备提交(还未add)

3.文件准备被提交,将要被提交的文件包括1.txt

4.没有文件需要被提交

5.  文件在工作区被删除,版本库与工作区不一致

6.版本回退

从当前最新版本回退到以前的版本

1. git log //查看所有版本

2. git reset --hard HEAD^ //回到上一个版本

    git reset --hard HEAD^^ //回到上上个版本

    git reset --hard HEAD~100//回到上100个版本

--hard回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)

git reset --soft HEAD^ 

回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换

3.     回到穿越之前的版本(用回旧版本)

     git reflog  //通过查看历史指令获得版本的commit id

     git reset –hard 9e3d9ed  //回到commit id为9e3d9ed的版本

     git diff HEAD -- 1.txt  //查看版本库最新版本和工作区的1.txt文件内容的区别

 

7.成功推送到远程仓库的例子

1.git init  //把这个目录变成git可以管理的仓库

2.git add –A //将目录下所有文件添加到仓库

3.git status  //查看仓库状态

4.git commit –m “RENEW” //将目录下所有文件提交到仓库

5.git remote add origin git@github.com:jenniferzgh/123.git  //将本地仓库和远程仓库关联

6.git push –u origin master  //把本地库内容推送到远程仓库

从此以后本地库的所有修改可以通过git push origin master提交到远程仓库github

关联仓库git remote add origin 出现remote origin already exists

解决方法git remote rm origin

 

8.成功下载并安装运行的例子

1.     git clone https://github.com/cucygh/es6-webpack.git

2.     cd  es6-webpack.git   //切换目录到es6-webpack.git下

3.     npm install

4.     npm start

9. 创建新分支,将修改的文件提交到新分支,合并到master分支,删除新分支

1.     git checkout –b dev //创建并切换到新分支

2.     git branch //查看当前分支

3.     将1.txt里内容”Git is a…”改成”first commit to dev”

4.     git add 1.txt //将修改后的1.txt添加到dev分支

5.     git commit –m “add to dev” //将修改后的1.txt提交到dev分支

6.     git checkout master //切换回master分支

7.     git margin dev //把dev分支的工作成果合并到master分支

8.     git branch –dev //删除dev分支

10 合并冲突及其解决方法

1.     在1.txt中修改冲突的内容

2.     git add 1.txt //将修改后的文件添加到合并分支

3.     git commit –m “change for commit” //将修改后的文件提交到合并分支

4.     git branch –d dev //删除分支

11.将手头上的分支任务搁置(有未commit项),新建紧急分支

1.     git stash //将bug1分支工作现场储存到stash

2.     git stash pop //将bug1分支回复并且删除stash

12.强行删除分支

git branch –D bug2 //强行删除bug2分支

13.多人协作

1.git remote//查看远程仓库信息

git remote -v//查看远程仓库详细信息

5.     git clone https://github.com/jenniferzgh/XXXXX //将项目下载到本地(只含master主分支)

2.git checkout –b dev origin/dev //创建远程的dev分支到本地

2.git push origin dev //推送分支

999注意事项

文件不能用中文名

平行分支不能互相切换

Commit时要加提示信息

如果要创建闭源项目,自行了解git服务器创建

指令关键词

例子

含义

 init

git init

把这个目录变成git可以管理的仓库(版本库)

 add

git add 1.txt

将文件添加到本地仓库

commit –m

git commit –m “XXX”

将文件提交到本地仓库

status

git status

查看本地仓库当前状态

remote

git remote

查看远程仓库信息

remote -v

git remote -v

查看远程仓库详细信息

diff

git diff 1.txt

查看修改的具体内容

checkout

git checkout – 1.txt

撤销在工作区的修改

rm

git rm 1.txt

在版本库中删除

log

git log

查看所有版本

reset –hard

git reset –hard head^

版本回退

reflog

git reflog

查看历史指令

diff

git diff HEAD -- 1.txt

查看版本库最新版本和工作区的1.txt文件内容的区别

remote add origin

git remote add origin

将本地仓库和远程仓库关联

 

push –u origin

git push –u origin master

首次把本地库推送到远程仓库

push origin

git push origin master

把本地库推送到远程仓库

clone

git clone

从远程仓库克隆

checkout –b

git checkout –b dev

创建并切换新分支

checkout –b

git checkout –b dev origin/dev

创建远程的dev分支到本地

branch

git branch

查看当前分支

branch –

git branch – dev

删除分支

branch –D

git branch –D bug2

强行删除bug2分支

checkout

git checkout master

切换到master分支

margin

git margin dev

把dev分支合并到当前分支

stash

git stash

存储当前分支

 stash pop

git stash pop

恢复当前分支

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值