执行 git push -u origin main 报错:
git push -u origin main
To https://gitee.com/test/test.git
! [rejected] main - main (fetch first)
error: failed to push some refs to 'https://gitee.com/soushenji/expressjs-docs.git'
hint: Updates were rejected because the remote contains work that you do
hint:
github Support for password authentication was removed
解释:
这个错误表明GitHub不再支持使用密码进行认证,而是推荐使用个人访问令牌(Personal Access Token, PAT)进行认证。这通常发生在尝试通过命令行或其他自动化工具与GitHub交互时。
解决方法:
生成一个新的个人访问令牌:
登录到您的GitHub账户。
导航到Settings(设置) Developer settings(开发者设置) Personal access tokens(个人访问令牌)。
点击“Generate new token
Git 放弃本地修改,强制和之前的某次提交同步,有四种情况:1.没有执行 git add的:可以用命令,git checkout filepathname(eg: git checkout test.md)
如果是放弃所有,直接执行git checkout .
此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。2.已经执行git add缓存了的:可以用命令git reset HEAD file-name.txt
同
chmod 修改项目文件夹的权限以后,git status 发生了大量变化的文件。原因是 Git 不仅能够管理文件的版本,而且能够管理对文件的访问权限。通常,一个文件的访问权限可以分为xrw,这些属性也被纳入到Git库的管理。修改文件的访问权限,也是对git库中文件的 modify,执行git status 会看到变化。filemode 简介Git对文件的访问权限的管理与配置选项core.filemode有关。core.filemode选项默认true,即区分文件的执行权限,校验Git的Index中和工作目录中的文件权限。查看 filemode 选项git config --get core.
在使用git的时候,有些文件是不需要上传的,所以就可以修改 .gitignore,如果在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。如果只是取消跟踪git rm -r --cached . //对所有文件都取消跟踪,不删除本地文件
git rm -r --f . //对所有文件都取消跟踪,删除本地文件
git rm --cached text1.txt //删除text1.txt的跟踪,并保留在本地。
git rm --f text1.tx
Git 鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在 master 分支上工作效果是一样的,但过程更安全。创建 dev 分支我们创建dev分支,然后切换到dev分支:$ git checkout -b dev
Switched to a new branch 'dev'
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:$ git branch dev
$ git checkout dev
Switched to branch 'dev'
然后,用git branch命令查看当前分支:$ git branch
* dev
master
windows中的换行符为 CRLF,而在Linux下的换行符为LF,所以在执行add . 时出现提示
工作区的文件都应该用 CRLF 来换行。如果
改动文件时引入了 LF,提交改动时,git 会警告你哪些文件不是纯 CRLF 文件,但 git 不会擅自修改工作区的那些文件,而是对暂存区(我们对工作区的改动)进行修改。也因此,当我们进行 git add 的操作时,只要 git 发现改动的内容里有 LF 换行符,就还会出现这个警告。
恩恩,这样综合下就明白怎么回事儿了,原来 CRLF和LF是两种不同的换行格式,git工作区默认为CRLF来作为换行符,所以当我们项目文件里有用的地方使用
一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。
实际项目中,很多文件都是不需要版本管理的,.gitignore的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。
下面我们看看常用的规则:
1)/tmp/ 忽略整个文件夹
2)*.zip 忽略所有.zip文件
3)/temp/a.php 忽略某个具体文件
4)* 忽略所有文件
.gitignore还可以指定要将哪
一,写好 Git Commit 信息的 7 个建议1.用空行分开主题和正文2.限制主题在50个字母3.主题行首字母要大写4.不要用句号结束主题行5.主题行用祈使语气6.每行72个字7.在正文部分解释什么,为什么,以及怎么做的 二,Commit message 编写指南Commit message 的格式每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。 type ( scope ): subject
// 空一行
body
// 空一行
footer
其中,Header 是必需的,Body 和 Footer 可以省略。不管是
git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -3
git rev-list --objects --all | grep 343940a
git log --pretty=oneline --branches -- _src/归档.zip
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch _src/归档.zip' --prune-empty --tag-name-filter cat -
所有标签