-
什么是Git,它有什么作用?
Git是什么?Git是一个分布式版本控制系统,由LinusTorvalds于2005年创建,用于管理代码。Git的作用Git的主要作用是记录代码的历史版本、协作开发、备份和恢复代码,并且具有以下特点:快速:Git的操作速度非常快,因为它的代码仓库是本地的。分支管理:Git支持分支管理,能够轻松地创建、合并、删除分支。版本控制:Git能够记录代码的每一个版本,方便回溯和恢复。协作开发:Git支持多人协作开发,可以通过远程仓库进行代码共享和管理。总之,Git是现代软件开发中必不可少的工具,它可以使代码管理更加简单、高效和可靠。
-
git push 提示403
使用git+https操作项目,直接提示403,并没有让输入用户名密码这种情况是开启了密码缓存使用下面命令清除使用密码缓存的配置gitconfig--local--unsetcredential.helpergitconfig--global--unsetcredential.helpergitconfig--system--unsetcredential.helper清除之后再次操作此时应该会让输入用户名密码输入账号的用户名密码可以正常访问(如果还是403,需要检查用户是否在项目的成员中,并且权限是否拥有),说明账号权限没有问题,之后的操作每次都会让输入用户名密码配置为缓存密码gitconfig--globalcredential.helperstore之后的操作就不需要输入密码了注意,如果配置完缓存密码之后又出现403,需要检查以下密码缓存是否正确密码缓存在用户目录下的.git-credentials文件中,如果不确定是否正确可以删除,重新请求一次就会重新缓存了
-
Git操作之 git add 撤销、git commit 撤销
1、gitadd添加多余文件撤销操作gitresetHEAD后面什么都不跟的,就是上一次add里面的内容全部撤销gitresetHEADXXX后面跟文件名,就是对某个文件进行撤销2、gitcommit撤销操作gitreset--softHEAD^ 这样就成功的撤销了commit操作注意,仅仅是撤回commit操作,您写的代码仍然保留。gitreset其他参数说明:--mixed 意思是:不删除工作空间改动代码,撤销commit,并且撤销gitadd.操作这个为默认参数,gitreset--mixedHEAD^和gitresetHEAD^效果是一样的。--soft 不删除工作空间改动代码,撤销commit,不撤销gitadd. --hard删除工作空间改动代码,撤销commit,撤销gitadd. 注意完成这个操作后,就恢复到了上一次的commit状态。commit注释写错了,只是想改一下注释,只需要:gitcommit--amend此时会进入默认vim编辑器,修改注释完毕后保存就好了。原文链接:https://blog.csdn.net/w958796636/article/details/53611133
-
git restore --staged撤销你在暂存区的提交
我们通过gitadd命令将文件提交到暂存区之后,发现文件提交错了,就可以通过gitrestore--staged撤销在暂存区提交的文件。通过实例演示一下当前目录下有三个文件进行了修改,并提交到了暂存区。通过gitls-files命令可以查看暂存区的文件$ lsREADME.md a.txt main.cpp lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)$ git add .warning: LF will be replaced by CRLF in a.txt.The file will have its original line endings in your working directory lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)$ git ls-filesREADME.mda.txtmain.cpp lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)$ git statusOn branch masterYour branch is up to date with 'origin/master'. Changes to be committed: (use "git restore --staged ..." to unstage) modified: README.md new file: a.txt modified: main.cpp lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)我们撤回暂存区的a.txt文件lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)$ git restore --staged a.txt lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)$ git ls-filesREADME.mdmain.cpp lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)$ git statusOn branch masterYour branch is up to date with 'origin/master'. Changes to be committed: (use "git restore --staged ..." to unstage) modified: README.md modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) a.txt可以看到暂存区没有a.txt文件了,查看状态可以看到,a.txt文件的状态变成了未跟踪状态。
-
Your local changes to the following files would be overwritten by merge
1、产生原因这种情况一般是由于,你在工作区修改了一些代码,但是还不打算提交,这时同步主干代码的时候,如果你修改的文件与主干分支的代码有冲突,那么拉取主干分支代码时就会报这个错误。2、简单示例下面我通过一个简单的例子给大家展示一下这个报错产生的前因后果。首先主干分支有一个readme.txt文件,内容是mynameismaster 然后从主分支创建了一个分支A,在A分支添加了一个a.txt文件,并修改了readme.txt文件 同时从主干分支创建了一个分支B,在B分支添加了一个b.txt文件,并修改了readme.txt文件 接下来呢,A分支提交了修改的文件并且合并到了主干分支。然后B分支将b.txt文件提交并推送到了远程仓库,但此时还不想提交readme.txt文件。然后B分支想同步主干的代码,于是gitpulloriginmaster此时就会报这个错误3、解决方案 出现这个错误,一般有以下两种解决方法。3.1、版本回退如果我们不想保留本地的修改,直接使用gitreset--hard命令进行回退。那么本地你未提交的修改就全部回退了,这个时候就可以成功同步主干代码了。3.2、备份本地文件我们使用以下三个命令git stash #备份工作区内容git pull origin #拉取远程分支git stash pop #恢复工作区内容我们先使用gitstash将工作区内容进行备份,然后就可以拉取主干分支代码,拉下来后再使用gitstashpop命令恢复工作区内容。这个时候会提示文件有冲突我们根据需求手动去解决冲突就可以了。 删除特殊符号,留下我们需要的代码就OK了
-
git异常
别人提交代码后,我没有获取代码,我把我改的代码直接提交了,我们修改了同一处的代码。Hint: You have divergent branches and need to specify how to reconcile them.Hint: You can do so by running one of the following commands sometime beforeHint: your next pull:Hint: Hint: git config pull.rebase false # mergeHint: git config pull.rebase true # rebaseHint: git config pull.ff only # fast-forward onlyHint: Hint: You can replace "git config" with "git config --global" to set a defaultHint: preference for all repositories. You can also pass --rebase, --no-rebase,Hint: or --ff-only on the command line to override the configured default perHint: invocation.Git failed with a fatal error.Git failed with a fatal error.Need to specify how to reconcile divergent branches.中文翻译提示:您有不同的分支,需要指定如何协调它们。提示:您可以在之前的某个时间运行以下命令之一来完成此操作提示:你的下一次拉动:提示:提示:git config pull。重设假基址#合并提示:git config pull。重设基址为真#重设基址提示:git config pull。仅限ff#仅限快进提示:提示:可以将“git config”替换为“git config--global”来设置默认值提示:所有存储库的首选项。你也可以通过--再基地,-不再基地,提示:或--ff仅在命令行上覆盖配置的默认值提示:调用。Git失败,出现致命错误。Git失败,出现致命错误。需要指定如何协调不同的分支。解决办法git config pull.rebase false
-
.gitignore不生效问题解决方法
.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。
-
git强制拉取远程项目覆盖本地项目
最近在工作中经常需要从git拉取到一些项目到本地,但是因为本地项目被我自己修改,所以无法用传统的方式将远程仓库的项目拉取下来。下面介绍一种远程仓库强制拉取项目到本地的方法。
-
服务器上记住GIT用户名密码
使用git pull或者git push每次都需要输入用户名和密码很繁琐,耽误时间,现在教大家一条命令实现保存用户名和使用git pull或者git push每次都需要输入用户名和密码很繁琐,耽误时间,现在教大家一条命令实现保存用户名和密码不用再输入使用git