git和github最常用的操作,记录备用
2019-10-08 admin laravel 1683
在不同的地方,不同的电脑编辑同一个项目代码,那是常有的事。网上的内容太多太杂,不适合新手学习。今天,我们就以最常见laravel项目为例,说说最常见的git 操作。
首先,我们在宝塔面板新建一个网站,进入网站目录,创建一个laravel项目weibo:
composer create-project laravel/laravel weibo
完成后,网站根目录出现一个weibo目录,将weibo目录下所有文件移动到网站根目录,删除weibo目录,并将所有文件授权www以755权限 。之后,在面板的网站设置界面,将运行目录设置为public,伪静态设置为laravel5,打开绑定的域名,可以访问了。
然后,我们修改项目,准备使用git前,必须注意一个文件:
.gitignore
这个文件决定哪些文件排除在git版本控制之外,比如敏感的.env文件,还是上传的附件等。必须先配置好再git,否则就比较麻烦了,我的配置项目如下:
/node_modules /public/hot /public/storage /storage/*.key /vendor /public/shipin /public/excel /public/temp /public/files /public/video .env .phpunit.result.cache Homestead.json Homestead.yaml npm-debug.log yarn-error.log block.txt
配置好后,进入项目根目录,开始设置git:
git config --global user.name "Your Name" git config --global user.email your@example.com
设置 Git 推送分支时相关配置:
git config --global push.default simple
对 Git 进行初始化,并将全部文件纳入git,再保存到缓存区,取名为Initial commit:
git init git add -A git commit -m "Initial commit"
git操作就完成了,如果要查看提交的历史记录,可执行git log。
接下来,我们来提交到git hub,我们首先在github上注册好账号,并设置 SSH Key,再新建一个仓库,类型是私有还有公有自己设置。
创建完成之后,使用以下命令将代码上传到 GitHub 上(将 your_username 替换为你自己的 GitHub 用户名):
git remote add origin git@github.com:your_username/hello_laravel.git git push -u origin master
当然,如果不设置,也可以push,但每次git push时都要输入账号密码。
现在,我们回到前面讲述的一个问题:如果我们上传了一个项目到git并已经commit和push了所有内容,但是忘记搞gitignore文件,导致一些不想加入版本控制的文件,如IDE配置文件,编译文件,部署文件等,现在不知道怎么办了?
试一试如下命令:
git rm -r --cache . git add . git commit -m "gitignore working"
然后再git push,到仓库看看,是不是已清空了那些不该出现的数据了呢?
现在,我们还有一个操作要熟悉,那就是项目上传到git hub了,现在要在另一台电脑上拉取代码回来,需要使用命令:
git clone 项目地址
如果github项目有更新,如果更新到本地电脑上呢?先初始化本地git,再设置本地分支,对应github的:
git remote add origin git@github.com:datangkang123/phpexcel.git
然后拉取更新:
git pull origin master
这样就完成了。但有时会报错:
The following untracked working tree files would be overwritten by merge:
通过错误提示可知,是由于一些untracked working tree files引起的问题。所以只要解决了这些untracked的文件就能解决这个问题。执行以下命令再拉取更新:
git clean -d -f
-x -----删除忽略文件已经对git来说不识别的文件
-d -----删除未被添加到git的路径中的文件
-f -----强制运行