这里的大文件指的是大小超过100M的文件
(1)安装git lfs
不知道是已经安装过我忘记了还是其他原因,我没有执行这一步,也没有问题,大文件也传上去了
(2)初始化git lfs
在命令行执行 git lfs install
(3)大文件追踪
使用 git lfs track
命令进行大文件追踪 例如git lfs track "*.png"
追踪所有后缀为png的文件
(4)提交
git add
git commit
git push
这些命令跟以前是一样的
(1)保存重要的文件到移动硬盘或者其它目录下
(2)查看之前的commit情况
这里就是查看之前所有的commit的版本情况
$ git log 查看所有的commit版本
查询结果
commit 69e4c353eff2587b312ab8ab9118bf6e52339f73
Author: kaikai-sk <**********@qq.com>
Date: Thu May 7 18:51:12 2020 +0800
修改之后的稿子
commit 5ac0fcbe0ed960ca90fa55326e4cad53a88eb476
Author: kaikai-sk <*********@qq.com>
Date: Fri Apr 24 21:37:54 2020 +0800
添加了一些参考文献或者其他资料
类似于5ac0fcbe0ed960ca90fa55326e4cad53a88eb476这种的就是版本号
(3)回退到某个commit
这里会回退到某一个时刻的状态,所以就有了第(1)步提前备份的操作。
$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commit的sha码
$ touch ~/.git-credentials
$ vim ~/.git-credentials
添加内容
https://{username}:{passwd}@github.com
添加git配置
$ git config --global credential.helper store
查看~/.gitconfig文件变化
[credential]
helper = store
创建仓库时,建立了README.md,导致该文件不在本地代码中。
可以通过以下方式解决
git pull --rebase origin master
执行后可以看到本地代码中多了README.md文件
再次执行git push origin master
即可完成代码上传
使用gitignore文件来解决这个问题,步骤是:
S1: touch .gitignore #创建gitignore隱藏文件
S2: vim .gitignore #编辑文件,加入指定文件
#下面是我的gitignore文件的内容
#忽略gitignore文件
.gitignore
#忽略后缀名为.o和.a的文件
*.[oa]
#显示指定忽略名称为main的文件
main
文件.gitignore的格式规范:
A:#为注释
B:可以使用shell所使用的正则表达式来进行模式匹配
C:匹配模式最后跟"/"说明要忽略的是目录
D:使用!取反(例如目录中包含 test.a,并且gitignore文件中包含 *.[oa],如果在文件中加入 !test.a 表明忽略除test.a文件以外的后缀名为.a或者.o的文件)
git命令工具Git Bash 。
首先在Git Bash中使用cd命令进入对应的本地项目路录,按照下面的命令操作:
git init 表示在当前的项目目录中生成本地的git管理。
git add .
表示你要提交到github上的文件,如果你要将所有文件都添加上去的话,
使用git add . “.”表示添加当前目录中的所有文件。
git commit -m “first commit” 表示提交,并带有注释。
git commit -m “提交的描述信息”
如果我们这里不用-m参数的话,git将调到一个文本编译器(通常是vim)来让你输入提交的描述信息
git commit -a -m “提交的描述信息”
git commit 命令的-a 选项可只将所有被修改或者已删除的且已经被git管理的文档提交倒仓库中。如果只是修改或者删除了已被Git 管理的文档,是没必要使用git add 命令的。
git commit –-amend 对于已经修改提交过的注释,如果需要修改,可以借助 git commit –-amend 来进行。
git remote add origin https://github.com/huangtianyu/mytest
这个URL就是项目地址。
git push -u origin master
用于将本地分支的更新,推送到远程主机,最后根据提示输入用户名和密码。-u选项指定一个默认主机。这一步可能会提示你: ! [rejected] master -> master (fetch first),这事因为git仓库已经有内容了,这时你需要先利用git pull命令同步代码,步骤如下:直接用git pull origin <分支名称(默认master)> 拉下服务器代码,如果没问题即解决了。如果提示:fatal:refusing to merge unrelated histories,这时执行如下命令:git branch --set-upstream-to=origin/<分支名称> master,之后执行git pull origin master --allow-unrelated-histories,即可拉下代码,然后调用git push -u origin master即可上传代码。
注意:输入密码的时候,是不会有反应的,所以需要认真输入。
键盘的上下键可以挑选之前和之后的命令,重复执行。