git基础入门

本文详细介绍了Git与SVN两种版本控制系统的使用方法,包括账号注册、仓库创建、基本命令如clone、add、commit等操作流程。此外还讲解了如何解决多人协作时可能出现的代码冲突问题以及如何利用分支提高开发效率。
svn是一个集成的
git是一个分布式的


1、注册一个账号密码
2、点击 New repository(创建一个仓库)
3、Repository name --drag写一个拖拽的项目
4、Description (描述) ---拖拽的醒目
5、public (公开)
6、initialize this repository with a README(README文件)
7、create repository  然后就相当于建立了一个仓库了


这下就相当于再github上有了一个drag的仓库了

-------------------本地--------------
然后clone代码到本地
git clone https://github.com/NICE-MST/Drag.git
下载下来之后会有两个文件,其中的.git文件是隐藏的,还有一个就是初始的README

设置贡献值
先进入cd Drag 然后:
git config -global NICE-MST
git config -global 759467654@qq.com

git config -list //查看所有的配置项

MST-N!CE@DESKTOP-EBUU92O MINGW64 /d/phpStudy/PHPTutorial/WWW/app/Drag (master)


(master)的意思是主分支,其他的分支都是在这个主分支里面拉取的


git的三个区
工作区:就是我们工作的这些代码

暂存区: 就是我们写的代码先从我们本地的工作区暂存到暂存区,然后再提交到版本库里面
作为过渡层
避免误操作
保护工作区和版本区
分支处理
 

版本区:master


git命令
git status //这个是看你的本地的工作区的代码的,比如刚刚创建,但是还没有添加到暂存区
git add //这个是把本地的代码添加到暂存区
git add name //git add index.html (这个时候会出现[master +2 ~0 -0 !]  +2是说我们工作区有两个文件,0个修改,和0个减少)
. //全部修改的都提交了


git commit -m "change demo" 把我们暂存区的代码,放到版本库里面


git commit -a -m "change demo" //-a是添加到暂存区,然后再提交到版本库

git log 是我们用来看提交历史用的(按回车可以显示更多的历史记录)

对比:(三个区有什么不同)
git diff 指的是我们工作区和暂存区的对比

git diff --cached /git diff --staged 指的是我们的暂存区和版本库之间的对比

git diff master(主分支) //工作区和版本库之间的对比



撤销
git reset HEAD <file.name> //把暂存区的东西撤销到工作区,并清空暂存区的之前提交的
git reset HEAD index.js

git checkout -- <file.name> //例如工作区添加了一些代码,这时候我们想要工作区的内容和版本区的内容一致,那么就用这个命令的、
git checkout --index.js

git commit --amend //提交有错误,撤销操作
比如修改了两个文件a.js和b.js,但是只是git add a.js ,然后就直接git commit到了版本区
但是我想提交两个,另一个忘了,所有这时候需要git add b.js,然后git commit -m "changed" --amend
加--amend就会把之前提交的撤销回来,然后再一起提交
然后git log就会发现提交的历史纪录只会有第二个一起commit的时候的记录

删除
git rm <file.name> //git rm test.txt   当我们工作区把文件删除之后,执行这个命令才会把暂存区的代码给删除掉
git rm -f <file.name> //git rm -f test.txt //当工作区和暂存区都有这个文件,那么就会都删掉的
git rm --cached <file.name> //当工作区和暂存区都有这个文件,只会删除暂存区的文件,工作区的会保留下来

恢复(误删除了,或者提交了一些有bug的文件,需要恢复到之前的版本)

git checkout commit_id <file.name> //工作区的index.js文件被删除了,是对一个版本下的一个文件的还原

git checkout commit_id index.js
commit_id可以通过git log获取(从而恢复到某一个版本)

git reset --hard commit_id 对一个版本的还原


HEAD^ head是指针,通过指针来获取他的版本
git reset HEAD^ //这个会往前回一个版本

HEAD~<num>
git reset HEAD~2 //这个会往前回2个版本


git reflog //从过去版本回到现在的版本,这个会返回一些操作信息
找到现在的版本然后拿到commit_id,然后git reset --hard commit_id
----------------------


同步到远程仓库
git remote
-v
origin //远端的默认名字,再上传的时候需要写到
git push origin master
---------------------------

多人协作解决冲突
先在git官网点击New collaborator,然后输入他的账号名字,然后点击添加


然后第二个开始一个项目的时候就需要先把git config -global NICE-MST
git config -global 759467654@qq.com,然后把远端的代码拉取到本地 git clone https:.....
然后第二个人也就可以开发了


再每次开发的时候最好需要先更新以下代码,避免冲突(比如github上设置的width为200px,然后你在本地设置为100px,你再提交就会有冲突)

解决冲突;先把远端的代码拉去然后

git fetch (先把远端的代码拉取,先不合并)---这种可以查看冲突的原因
Git diff master origin/master 查看冲突在哪
Git merge  orgin/master 手动合并,然后就会在本地看到那一部分冲突了

git pull (先把远端的代码拉取,并且合并)

解决完冲突后就可以提交代码了

-----------------------------------------

开源项目协作:

加入没有权限,点击fork,相当于新开了一个分支,然后下载下来git clone
然后修改了bug之后进行提交 git commit -a -m "fix a bug"--->git push origin master

pull request



Git分支(多个人在同一个分支上开发,会很容易冲突,分支操作就不会,多人开发好之后再合并)
git branch new1 创建一个分支new1
-d
--merged
--no-merged
git checkout new1  切换到new1分支
git -b checkout new1 先创建一个分支new1,然后切换到new1分支 -b就是branch的简写

git merge //快速合并






github上的分支
git push 
github上直接创建


github上的标签
git tag
github上直接创建






创建组织
github上创建
点击New organization 然后写一个组织的名字:mst,然后就一直按要求下去


创建博客(可以使用免费的域名和空间)
github上创建
https://pages.github.com/
注意格式的正确性






总结
如何深入?
技巧
资源
http://git.oschina.net/progit/
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值