记录一下我常用的git命令,以备不时之需。
1. 放弃本地的修改强制远程覆盖本地
1 2
| git fetch --all git reset --hard origin/master
|
2. 获取远程分支前记得要更新
3. 将本地分支提交到远程非主分支上
1 2 3 4 5 6 7 8
| git pull origin <远程分支名>:<本地分支名> // 将远程指定分支 拉取到 本地指定分支上 ...... git pull origin <远程分支名> // 将远程指定分支 拉取到 本地当前分支上 ...... git push origin <本地分支名>:<远程分支名> // 将本地当前分支 推送到 远程指定分支上 git push origin <本地分支名> // 将本地当前分支 推送到 与本地当前分支同名的远程分支上 git push // 将本地当前分支 推送到 与本地当前分支同名的远程分支上 git push -u origin <本地分支名> // 将本地分支与远程同名分支相关联
|
4. github文件夹有白色箭头并且不能打开的解决办法
1 2 3 4 5 6 7 8 9
| 1、删除文件夹里面的.git文件夹
2、执行git rm --cached [文件夹名]
3、执行git add [文件夹名]
4、执行git commit -m "msg"
5、执行git push origin [branch_name]
|
5. 强制push到远程
1
| git push -u origin master -f
|
6. 快速关联/修改Git远程仓库地址
1 2 3 4
| git remote -v //查看git对应的远程仓库地址 git remote rm origin //删除关联对应的远程仓库地址 git remote -v //查看是否删除成功,如果没有任何返回结果,表示OK git remote add origin https://github.com/developers-youcong/Metronic_Template.git //重新关联git远程仓库地址
|
7. 如何将本地git仓库推送到远程
1 2
| 首先在github上面创建新仓库(注意不要添加任何文件) 修改关联远程仓库将关联远程仓库改为新仓库的ssh地址
|
8. 如何更换本地git对应的远程并更换分支
1 2
| .... git push --set-upstream origin master
|
1 2
| // 先修改对应的远程git库地址 // 在idea的图形化Git界面,对本地分支进行推送
|
9. git删除分支
1
| git branch -d <BranchName>
|
git 删除远程分支
1 2 3 4
| // 查看远程分支 git branch -a // 假如显示远程分支的名字是`origin/test` git push origin -d test
|
10. 取消当前的merge操作
11. 丢弃掉目前所有修改(没有add过)
12. 在gitignore的时候忽略已经跟踪过的文件
1
| git rm --cached <file_path>
|
13. 解决问题:The following untracked working tree files would be overwritten by merge
这个错误通常发生在尝试从远程仓库拉取代码时,但本地工作区存在未跟踪的文件,而这些文件与即将拉取的代码发生了冲突。为了解决这个问题,可以尝试以下几种方
提交或保存本地的修改:如果对工作区的修改是有意义的,可以先提交或保存这些修改。可以使用以下命令将修改的文件添加到暂存区并提交:
1 2
| git add . git commit -m "保存本地修改"
|
或者使用适当的命令(如 git stash
)将修改的文件暂存起来,以便稍后再应用这些修改。
放弃本地的修改:如果对工作区的修改并不重要,可以放弃这些修改,并清理工作区。使用以下命令将工作区恢复为与远程仓库一致的状态:
1 2
| git reset --hard HEAD git clean -df
|
第一条命令会将工作区和暂存区的修改恢复为最近的提交状态,第二条命令会删除未被跟踪的文件和目录。
手动合并冲突:如果想保留本地的修改并尝试手动解决冲突,可以使用以下命令拉取代码并进行合并:
1 2
| git fetch git merge origin/develop
|
这会将远程仓库的 “develop” 分支与本地的当前分支进行合并。然后,可以手动解决冲突,并在解决完冲突后提交修改。