git 初始化仓库,将本地仓库备份github

1.git 初始化仓库,将本地仓库同步github

首先本地已经存在代码文件夹了,想要上传到github备份

第一步: github 建立 repo,可以添加readme 和 gitignore文件

第二步:打开本地文件夹 ,首先执行

git init #初始化本地git仓库

  

git remote add origin git@*** 
#将远程仓库和本地仓库git连接起来,origin是远程仓库的别名,也可以改成其他的名称

        这个时候已经可以进行add commit 和 push 操作了,但由于初始化仓库时建立了readme和gitignore文件,所以需要先将这两个文件pull下来,执行

git pull origin master 
#将远程仓库的readme和gitignore 拉取下来,origin 是刚刚设定的远程仓库的别名,master是要pull的分支名

        接着执行 

git add .#add
git commit -m '注释'#commit
git push -u origin master #第一次push,-u代表将origin仓库的master分支设为默认push分支,以后执行git push 时默认push到该分支

2 gitignore文件使用说明(主要是重新建立文件跟踪,在建立gitignore文件前已经push过文件)

后续补充:在github建立repo时可以选择同时建立 .gitignore 文件,选择主要使用的代码可以自动建立默认的gitignore文件,不用自己从头开始写,只需要根据自己的目录做细微的调整即可。

git status 可以看到在添加gitignore文件前的当前目录下文件追踪状态,

git 初始化仓库,将本地仓库备份github_第1张图片

 vim .gitignore进入文件添加配置,配置基本规则如下,详细可看Git - gitignore Documentation

https://git-scm.com/book/zh/v2

1)/mtk/               过滤整个文件夹
2)*.zip                过滤所有.zip文件
3)/mtk/do.c         过滤某个具体文件
需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中:
1)!*.zip
2)!/mtk/one.txt

唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。
为什么要有两种规则呢?想象一个场景:假如我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理,那么我们就需要使用:
1)/mtk/
2)!/mtk/one.txt
基本规则写好后

git 初始化仓库,将本地仓库备份github_第2张图片

 git status 查看文件追踪状态

 已经忽略掉glove的两个文件夹了。

重要的是如果在添加gitignore文件前已经将部分文件进行了push操作,会导致gitignore无法忽略掉已经push的文件,这个时候需要移除所有问题的追踪状态,然后再重新add. commit push 即可

git rm --cached .
git add .
git commit -m "again"
git push

3 git add 出现file exists 

rm -f /.git/index.lock

删除index.lock文件即可

原因:在进行某些比较费时的git操作时自动生成,操作结束后自动删除,相当于一个锁定文件,目的在于防止对一个目录同时进行多个操作。有时强制关闭进行中的git操作,这个文件没有被自动删除,之后你就无法进行其他操作,必须手动删除。add整个目录时自己中断了操作,导致lock没有自己解除

4 git remote 修改 clone下来的仓库远程绑定仓库,将其和自己的github相关联

git remote -v #查看当前绑定的远程仓库地址

git remote rm origin #将当前绑定的远程仓库origin删除

git remote add origin git@ $将新的仓库地址与本地绑定

5 删除暂存区的文件,保留工作区文件,并且删除远程仓库中的该文件

git rm -r -n --cached test        -n可以查看会被删除的文件

git rm -r --cached test         确认文件无误后进行删除

git commit -m 'rm test'        开始删除

git push origin master         推送到远程仓库

你可能感兴趣的:(tricks,git,github)