当你开始一个完整的项目时,git会是你经常接触到的,以下是今天学习到的一些常用操作,对于前端新手而言,足以。
Git的介绍和安装(略)
推荐廖雪峰的Git教程(https://www.liaoxuefeng.com/),里面介绍得非常详细,还有git的操作,值得好好学习和收藏。
开始创建
- git init (创建本地仓库)
- git add . (将项目添加至暂存区)
- git commit -m "提交信息" (将项目提交至本地仓库)
- git remote add origin http地址 (关联本地仓库与远程仓库,默认已创建了远程仓库(Github、码云……))
- git push -u origin master (将项目推送至远程仓库)
至此,你已创建了本地仓库和远程仓库,此时,只有一个master分支。这是项目最初始的一个状态。
在实际开发过程中,我们并不会直接在master分支中进行修改,所以作为一个新人加入到新公司的项目,往往会拿到一个远程仓库地址,这时,你需要:
- git clone 仓库地址 (先将项目克隆到自己的本地中)
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,远程仓库的默认名称是origin。
- git checkout -b dev-Jan origin/master (创建自己的远程仓库)
- git push origin dev-Jan (将项目推送至dev-Jan远程仓库)
推送分支,就是把该分支上的项目提交推送到远程仓库。推送时,要指定本地分支,这样,Git就会把该分支推送到对应的远程分支上。
现在,你可以安心敲自己的代码。
协同工作
在工作中,你的小伙伴们时不时会push到master主分支,你需要将master主分支的最新提交拉到自己的项目中:git pull origin/master,进行合并,这样,确保整个项目代码是实时更新的。所以,将master拉到自己的项目中,应该是每天上班第一件事要做的事情。
其次,当你的项目开发好了,推送到了自己的远程分支(origin/dev-Jan),而别的小伙伴需要合并你的代码,那么他会从你的远程分支(origin/dev-Jan)pull代码,在本地合并(git merge dev-Jan),若有冲突,解决冲突,再将合并的最新版本push到master主分支。反过来,你也需要这样做。
再有,当小伙伴向master提交了内容,而你也试图推送。如果推送失败,则因为远程分支比你的本地更新,你需要先用git pull合并。如果合并有冲突,则解决冲突,并在本地提交;若是没有冲突或者解决冲突后,再用git push origin master推送就能成功!
每个人都有自己的分支,我们在自己的分支里敲代码,再与其他小伙伴的分支进行合并,完成上线发布版,而master一般都是上线发布的,当然也有别的上线分支如dev,这需要看公司的具体业务了。
删除与抓取
- 删除本地分支:git branch -d dev-Jan
- 删除远程分支:git push origin : dev-Jan(冒号前面有空格)
- 获取远程仓库所有分支信息:git fetch --all
git fetch 和 git pull的区别在于:git fetch 相当于是从远程获取最新到本地,不会自动merge,而git pull相当于是从远程获取最新版本并merge到本地
回退版本
git reset --hard head^ (回退/回滚上一个版本)
那如果又后悔了,想要回退/回滚到刚刚那个版本,那你可以使用命令 git reflog 或者 git log 查看历史版本信心,确定回退到哪一个版本。
$ git reflog
76c4d4f (HEAD -> master)HEAD@{0}: reset: moving to HEAD^
44c2edc (origin/master)HEAD@{1}: merge dev: Fast forward
76c4d4f (HEAD -> master)HEAD@{2}: checkout:moving form dev to master
44c2edc (origin/master)HEAD@{3}: commit:dev first init
git reset --hard HEAD@{1}
总结
综上,Git常用的一些命令有:
- git init(从无到有的创建本地仓库)
- git add . (将项目添加至暂存区)
- git commit -m "提交信息" (将项目提交至本地仓库)
- git remote origin http地址 (关联本地仓库与远程仓库)
- git push -u origin master (将项目推送至远程仓库)
- git pull origin master (从远程获取最新版本并merge到本地)
- git fetch origin 远程分支:本地分支 (拉取远程分支,并创建本地分支,但不切换分支)
- git checkout -b 本地分支 origin/远程分支(拉取远程分支,创建并切换到本地分支)
- git branch -r (查看所有远程分支)
- git branch -a (查看所有分支,本地的和远程的)
- git branch -d dev-Jan(删除本地分支)
当然,还是推荐看廖雪峰的Git教程,讲的很详细呀,加油啦
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。