git简单使用
一、区域(4个)
工作区————>暂存区————>本地仓库————>远端仓库(remote repository) (工作区就是在编辑器上修改代码时候的区域 )
add commit push
二、账号
git config --global user.name "xxx" 设置git的用户名
git config --global user.email "xxx@xxx.com" 设置用户邮箱
git config user.name 查看当前登录账号(就是user.name)
git config user.email 查看当前登录邮箱
git config --system --unset credential.helper 重置
三、仓库
git init 初始化:创建本地git仓库,创建之后就会在当前目录生成一个.git的文件
git remote add origin 'https://test.com/test.git' 添加远端仓库(origin是远程主机名)
git clone 'https://test.com/test.git' 复制远端仓库到本地仓库(假设远端地址是:https://test.com/test.git)
四、分支
git branch -a 查看本地和远端分支(a代表all)
git branch test 创建test分支(只是在本地创建了test分支,但是远端并没有test分支)
git checkout test 切换到test分支
git merge test 把test分支合并到dev(假设当前分支是dev)(即把test合并到dev:要先切换到dev分支,然后再执行本条命令)
git branch -d test 删除本地test分支(d代表delete)
git push origin --delete test 删除远端test分支
五、修改好代码后,要推送到分支上的操作(大概分以下4步)
1. 获取更新
git fetch 将远端仓库上所有分支的更新取回本地(但是没有合并。如果有新的内容的话,要自己主动合并)
在多人开发的时候。在推送代码之前,要看别人有没有修改过代码。如果别人有修改代码,但是我们没有拉取别人的代码就直接推送的话,就可能把别人的代码给覆盖了,导致冲突或者别人的代码无效等等。
2.暂存代码
git stash 把自己修改的代码临时保存起来。(假设暂存到stash@{0})
git stash save 'message' 和上一条一样,就是增加一个备注信息
git stash list 查看暂存列表
git stash pop stash@{0} 应用stash@{0}暂存,并删除stash@{0}暂存。(这步一般放在拉取代码之后,即拉取代码后再应用暂存)
为了避免与远端代码有冲突,或者是修改后要切换分支,或者是增加新功能的时候突然要改bug等等。(但暂存代码不是必要的,如果远端没有更新就不用这一步)
注意:这里的暂存不是把代码保存到暂存区,可以理解为一个保存临时代码的地方。
3.拉取分支
git pull 获取远端仓库某个分支的更新,再与本地指定分支合并。(和git fetch命令有区别,具体可百度)
拉取后或者应用暂存后可能有冲突,解决一下再推送。
4.推送分支
git add test.html 将test.html文件从工作区添加至暂存区(假设修改的文件是 test.html) (一般用 git add . 就可以)
git add . 将当前目录下的所有文件从工作区添加至暂存区
git commit -m "message" 将暂存区的文件提交到本地仓库(没有commit之前和在哪个分支没有关系,所以commit的时候要注意当前分支)
git push -u origin test 将本地test分支推送到远端test分支(假设当前在test分支)(-u 等于 --set-upstream的简写)
上面的命令有3个功能:创建(如果没有test分支,那么远端将创建test分支)+关联(关联远端的test分支,即使远端有test分支,但没有和本地的test分支关联也不行)+推送(一般第一次推送才用这调命令,之后用下面一条命令就可以)
git push 将本地test分支推送到远端test分支
六、其他
git status 查看修改的文件状态(红色:已修改但还没提交到暂存区,绿色:已经提交到暂存区)
命令q 退出(如果在git里进入什么操作,按q就可以退出)
. gitignore 忽略要提交的文件 在项目根路径下的.gitignore文件(这是一个txt文件)
从远端拉完代码,如果远端有test分支,本地没有,那么要直接检出远端的test分支(而不能直接在本地创建test和拉取,因为是不一样的)
也推荐一个git的软件——Sourcetree,里面的工作流比较好用,或者也可以用phpstorm编辑器里的git功能。
浙公网安备 33010602011771号