团队开发-必掌握点-git项目托管

local-gitgnore

在我们项目上传的时候,是不需要将我们本地的module以及工作区的依赖等一些与项目无关紧要的文件上传的,所以我们需要做一些忽略文件的设置

.gitgnore文件就是这个作用

node_modules

一般这个配置脚手架会给我们配好,但是当这个文件是后期添加的时候,这样的设置是无效的,

.gitignore只能忽略那些原来没有被 track 的文件,如果某些文件已经被纳入了版本管理中,则修改 .gitignore 是无效的。
解决方法是先把本地缓存删除,然后再提交

git rm -r --cached .
git add .
git commit -m 'We really don't want Git to track this anymore!'

local-manage

  • (先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
  • 把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
  • 用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m '构建项目'
  • 关联到远程仓库
git remote add origin 你的远程库地址
  • 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
  • 把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传
git push -u origin master
  • 最后,如果项目不需要git来管理项目的时候
rm -rf .git
  • 修改远程仓库地址
git remote set-url origin url

recover-代码恢复,回滚(必要时可救命)

我们经常会误上传文件,需要将代码回滚到原来的历史版本中:

查看由近到远的提交历史记录(这里的记录是提交到远程分支的记录,不包含本地提交没有推送的历史记录)

git log   
常见情况

回到上一个刚刚提交的版本

git reset --hard HEAD^

回到固定的历史版本

git reset --hard id

最后最关键的一步,将回退的版本强制推送到远程(注意不能下拉分支否则会自动回到原来的情况)

git push origin HEAD --force

branch-manage

查看当前所在分支

git branch

切换仓库

git check out

查看远程和本地的所有分支

git branch -a 

查看远程分支

git branch -r

删除本地分支(注意在当前分支的情况下,则无法删除该分支)

git branch -d <BranchName>

拉取远程分支

git checkout -b 本地分支名x origin/远程分支名x
或者
git fetch origin 远程分支名x:本地分支名x