2021/12/23
第一步: 建立Git仓库
cd到你的本地项目根目录下,执行git命令,此命令会在当前目录下创建一个.git文件夹。
第二步:将项目的所有文件添加到仓库中
这个命令会把当前路径下的所有文件,添加到待上传的文件列表中。
如果想添加某个特定的文件,只需把.换成特定的文件名即可
第三步:将add的文件commit到仓库
git commit -m “注释语句”
参考:git 上传代码步骤 - 简书 (jianshu.com)
2021/12/24
peng@ubuntu:~/git/ytc-nordic-sdk$ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push origin HEAD:
当前不是在分支上,因此不能 pull 或者 push
利用git branch
查看一下,发现:
* (HEAD detached from a6d7be9)
kang
master
test
tmp
当前我们处于 (HEAD detached from a6d7be9)上
所以我们进行
git branch temp a6d7be9 // 依据快照a6d7be9 创建 temp分支
git checkout master // 切换到master分支
git merge temp // 将temp 分支合并到master分支
然后就可以git push进行提交了
参考:(30条消息) git错误 You are not currently on a branch的解决办法_暴暴君-CSDN博客
使用git checkout命令切换分支时由于当前分支有未跟踪的文件,导致切换失败。
error: Your local changes to the following files would be overwritten by checkout:
main.c
Please commit your changes or stash them before you switch branches.
Aborting
有两种选择:A保存修改;B放弃修改
选择A:未跟踪文件的内容改动很重要,保存修改
选择A:未跟踪文件的内容改动很重要,保存修改
方法①:存到暂存区
git add .
git stash
// 取出的时候使用
git stash pop
方法②:发起一个commit 存到提交历史
git add .
git commit -m "commit message"
两种方法:①清除修改;②强制分支切换
方法①:清除未跟踪文件【推荐做法】
git clean -n //这个是清除文件预览
git clean -f //强制清除文件
方法②:强制分支切换
git checkout -f <branch> // 为要切换到的分支名,注意不带“<>”
参考: (30条消息) 【Git-error】Your local changes to the following files would be overwritten by checkout_dandelionela的博客-CSDN博客
git-reflog:(Reference logs(参考日志))是用来恢复本地错误操作很重要的一个命令,所以在这里对它进行一下整理。
peng@ubuntu:~/git/ytc-nordic-sdk$ git push
warning: redirecting to http://192.168.130.13/device/ytc-nordic-sdk.git/
Everything up-to-date
**错误原因:**Git识别到代码没有改动
给代码随意添加一行注释进行改动然后再次提交
**问题原因:**虚拟机网络连接失败
**解决办法:**检查网络,配置网络
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LxpAJrmi-1644470536719)(D:\矿安科技\Picture_data\错误5_1.png)]
查看自己的用户名和邮箱
$ git config user.name
$ git config user.email
修改自己的用户名和邮箱地址:
$ git config --global user.name “xxx”
$ git config --global user.email “xxx”
1.在当前项目目录下输入
git config credential.helper store
这里没有–global意思是指只对这个仓库生效,建议以后都不要加–global,让代码配置以仓库为单位存储就好,设置成全局不灵活
2.打开.git文件夹内的config文件,会发现多了两行
3.git push 到远程仓库,按提示输入用户名和密码,注意要输入正确的(GitHub的用户名和密码)
4.再次运行git push 就不用输入用户名和密码了,因为在用户主目录文件夹多了一个文件git-credentials,这个就是用来存储用户名和密码的
5.若想把项目的用户名和密码删掉,输入下列命令
git credential-manager uninstall
这样每次git push时又需要输入用户名和密码了。
上面这条语句一般用于解决push、pull或clone时出现403错误,先解绑再绑定用户名和密码。
参考:https://blog.csdn.net/xiecheng1995/article/details/107226818?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.no_search_link&utm_relevant_index=1
git branch -a看不到远程分支
通过 git fetch 将本地远程跟踪分支进行更新,与远程分支保持一致
然后再次使用git branch -a 查看远程分支
To http://192.168.130.13/device/zuangan.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'http://192.168.130.13/device/zuangan.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git pull --rebase
git push
unterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git pull --rebase
git push