- git config --global user.name "用户名"
git config --global user.email "邮箱"
- 检查是否有秘钥
cd ~/.ssh
检查文件夹是否为空,秘钥文件名为id_rsa.pub- 生成秘钥
ssh-keygen -t rsa -C "git注册邮箱"
- GitHub绑定秘钥:
Settings ==> SSH and GPG keys ==> 填写本机生成的Key- 验证秘钥是否生效:
ssh -T git@github.com
如果使用gitee则替换github
- 在云端中创建一个仓库
- 创建好仓库后在本地目录下创建一个文件夹 在文件夹内右键git bash here
- 输入
git init
生成.git文件- 输入
git remote add (起一个分支标签名) git@github.com:yourName/repositoryname.git
进行仓库连接
使用gitee:git remote add (起一个分支标签名) git@gitee:仓库页面地址
- 在使用github时,可能会因为没有README.md文件而报错,此时可能需要添加该文件
echo "# XXXXX项目名" >> README.mdgit init
#初始化本地文件夹,生成.git文件夹git remote add (分支标签名) git@git
#链接云端仓库git add .
#将文件暂存至缓存区git commit -m "注释"
#提交修改git remote rm XXX
#删除一个标签git remote -v
#查看已经存在标签git pull XXX master
#下载git push XXX master
#上传
- error: src refspec master does not match any. error: failed to push some refs to‘git@github.com:XXXXXXX/XXXXXX.git‘
目录下没有文件,不能提交。解决方法为执行:
echo "# XXXXX项目名" >> README.md
git add README.md
git commit -m "注释"
- Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
缓存区没有文件。解决方法为执行:
git add .
- Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
简单粗暴改连接方式:
git remote set-url origin https://github.com/XXXXX/XXXX.git
- error: Pulling is not possible because you have unmerged files.
下载合并分支冲突与上传合并分支冲突
下载冲突解决办法:git add -u ---> git commint -m ""
上传冲突解决办法:git push -f XXX master | git pull XXXX master ---> git push XXX master(二选一)
- 以云端内容强制覆盖本地
git fetch --all //只是下载代码到本地,不进行合并操作
git reset --hard origin/master //把HEAD指向最新下载的版本
git pull
选项 | HEAD | 索引 | 工作目录 |
---|---|---|---|
--soft | 是 | 否 | 否 |
--mixed | 是 | 是 | 否 |
--hard | 是 | 是 | 是 |
- 本地仓库未提交的操作被称为撤销
- 文件修改后没有进行add操作
git checkout filename
git checkout .
- 多个文件已经add,但是只想提交某一部分
git add *
git status
取消暂存
`git reset HEAD- 文件已经add,但是想撤销修改(index内回滚)
取消暂存
git reset HEAD filename ==撤销修改==
git checkout filename- 文件已经commit提交了,但是想修改后不产生新的commit
修改最后一次提交
git add xxxx.xx
git commit -amend -m ""- 本地多次commit,想撤销某一次
`git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]
- 这种已经进行了push操作的撤销我们成为回滚。切记在回滚前备份
- 如果每次都打tag,那么
git checkout tag
git checkout <branch_name>- 撤销指定文件到指定版本
查看指定文件的历史版本
git log <filename> 回滚到指定commitID
git checkout- 删除最后一次远程提交
3.1 revert
git revert HEAD
git push origin master
3.2 reset
git reset --hard HEAD^
git push origin master -f
revert 是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在
reset 是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录- 回滚某次提交
git log 找到需要回滚的id
git revert commitID
git log --oneline -n5
git rebase -i "commit id"^
=需要注意最后的^号,意思是commit id的前一次提交==
在编辑框中删除相关commit,如pick 5b3ba7a test2,然后保存退出(如果遇到冲突需要先解决冲突)!
`git push origin master -f
文章内容输出来源:拉勾教育大数据高薪训练营
原文:https://www.cnblogs.com/mylearnpark/p/13323913.html