1

当你开始一个完整的项目时,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拉到自己的项目中,应该是每天上班第一件事要做的事情。

clipboard.png

其次,当你的项目开发好了,推送到了自己的远程分支(origin/dev-Jan),而别的小伙伴需要合并你的代码,那么他会从你的远程分支(origin/dev-Jan)pull代码,在本地合并(git merge dev-Jan),若有冲突,解决冲突,再将合并的最新版本push到master主分支。反过来,你也需要这样做。

clipboard.png

再有,当小伙伴向master提交了内容,而你也试图推送。如果推送失败,则因为远程分支比你的本地更新,你需要先用git pull合并。如果合并有冲突,则解决冲突,并在本地提交;若是没有冲突或者解决冲突后,再用git push origin master推送就能成功!

clipboard.png

每个人都有自己的分支,我们在自己的分支里敲代码,再与其他小伙伴的分支进行合并,完成上线发布版,而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教程,讲的很详细呀,加油啦


默默
252 声望5 粉丝