git是什么
git是一个分布式版本控制系统
git使用(git里面可以通用Linux命令)
设置用户签名和邮箱(否则无法提交代码)
git config --global user.name xxx
git config --global user.email xxx@xxx
本地查看配置文件(打开即可查看自己的设置)
初始化本地仓库(切换到相应的仓库文件夹下面再执行以下命令)
git init
查看本地仓库状态
git status
新增一个文件
vim hello.txt
添加暂存区
git add
删掉暂存区里面的文件
git rm --cached hello.txt
提交本地库(并写好日志信息)(当本地库的状态是绿色的时候,就可以提交了)
git commit -m "日志信息" hello.txt
这个是版本号
查看版本号(展示的是完整版本号的前7位号码)
git reflog
查看详细信息(可以查看完整的版本号)
git log
修改文件(模拟代码以及版本的迭代)
修改:vim hello.txt
添加暂存:git add hello.txt
提交:git commit -m "日志信息" hello.txt
查看版本信息:git reflog(这时就可以看到有两个版本了,指针此时指向第二个版本文件)
详细查看版本信息:git log
版本穿梭(实际上就是内部的指针指向)
查看历史版本号:git reflog(复制目标版本号前7位)
设置当前版本号:git reset --hard 目标版本号
git分支操作
查看分支 :git branch -v
创建分支:git branch 分支名
修改分支:git checkout 分支名
合并分支(正常合并,并没有产生代码上的冲突【需要切换到主分支上进行合并】):
git merge hot-fix (将hot-fix分支合并到master)
合并分支(冲突分支,产生了代码的冲突【两条分支都做了修改,系统不敢做决定,需要人为决定】)
合并报错
手动修改文件
添加到暂存区
提交到本地库(注意:此时提交不要加文件名,加了会报错)
git团队协作(需要用到代码托管中心)
团队内协作:A将代码push到远程库,B就可以将A的代码从远程库里面clone下来到自己的本地库,然后B可以修改代码之后然后将代码push(这个push需要一定的权限,需要A将B加入到团队里面)到远程库里面,此时A可以pull将远程库里面的代码拿下来
跨团推协作:fork远程库,clone到本地,pull requets 请求,审核,接收
github创建远程仓库
首先登录github
然后点击右上的”+“号
创建仓库名,选择公共库
点击创建仓库
创建别名:git remote add 别名 仓库地址
查看别名:git remote -v
推送本地库到远程库:git push 别名/远程库链接 分支【由于github服务器再国外,提交有可能会失败,多试几次】
正常会弹出github的登录提示框,输入账号密码即可
推送成功后会有如下显示
当远程库修改之后,需要更新一下本地库:git pull 别名 分支名
克隆远程库到本地:git clone 远程库链接【clone会做如下操作:1、拉取代码。2、初始化本地仓库。3、创建别名】
团队内协作:进行推送,验证推送人,如要成功推送,则需要目标仓库的持有者对推送人进行授权,否则,推送失败。
需要邀请成员,才能正常进行推送
输入对方账户名之后,再进入这个页面,复制邀请函(邀请函实际上也是一个链接地址)
浏览器输入邀请函地址,然后同意邀请即可
跨团队协作:A将B的代码forl(叉)下来,然后进行修改,修改后pull request ,B经过同意后即可合并代码
SSH免密登录:将SSH添加进去后,则push代码到远程仓库的时候直接使用SSH的地址,可以实现免密登录