git 操作
https://www.cnblogs.com/mengdd/p/3447464.html
廖雪峰的git网站
https://www.liaoxuefeng.com/wiki/1252599548343744/1260452774408320
git remote add origin <origin>
git remote add origin https://gitee.com/guo_fei/gf_file.git
此时如果origin的master分支上有一些本地没有的提交,push会失败.
- 刷新线上分支情况
git fetch origin
查看线上列表
git branch -a
查看本地列表
git branch --list
所以解决的办法是, 首先设定本地master的上游分支:
git branch --set-upstream-to=origin/master
git push --set-upstream origin master
然后pull:
git pull --rebase
git pull <remote> <branch>
git pull https://gitee.com/guo_fei/gf_file.git master
最后再push:
git push
https://blog.csdn.net/wh_19910525/article/details/7784901
缓存代码
git stash
git stash save "work in progress for foo feature"
获取上一次缓存的代码
git stash pop
命令可以将当前的Git栈信息打印出来
git stash list
可以将指定版本号为stash@{1}的工作取出来
git stash apply stash@{1}
来将栈清空
git stash clear
克隆代码到本地
git clone <remote>
https://blog.csdn.net/qq_23864697/article/details/80102480
git 放弃本地修改,强制拉取更新
git reset --hard origin/master
当前配置为本地环境的配置
由于每个人可能存在不同的配置情况 , 修改该目录文件需要排除修改文件的上传,执行命令:
git update-index --assume-unchanged src\main\resources\properties\local\redis.properties
如果需要恢复文件为排除状态:
git update-index --no-assume-unchanged src\main\resources\properties\local\redis.properties
git
-
git命令:
查看分支列表: `git branch -a` 查看分支列表: `git branch --list` 查看分支:`git branch` 同上 创建分支:`git branch <name>` 切换分支:`git checkout <name>` 创建+切换分支:`git checkout -b <name>` 合并某分支到当前分支:`git merge <name>` 删除分支:`git branch -d <name>` 默认分支管理,需要去对应的托管网站,登录账号,然后进行设置。
-
新建git分支
# 查看本地分支列表 git branch --list # 查看所有分支列表 git branch -a # 新建分支 git branch <branch> # 切换分支 git checkout <branch> # 和本地分支建立联系 git branch --set-upstream-to=origin/<old branch> <new branch> # 和远程分支建立联系 git pull <remote> <branch> # 推到远程新分支 git push origin HEAD:test # 推到远程已有分支或新分支 git push origin <branch>
-
git修改推送使用的用户名
# 获取当前的用户名 git config user.name # 修改用户名 git config --global user.name "新改用户名"
-
git 控制台保存账号密码
git config --global credential.helper store
git 修改本地密码
在控制面板————用户账号————windows凭证管理————编辑
- 强行覆盖
开发时,对于本地的项目中修改不做保存操作(或代码改崩),可以用到Git pull的强制覆盖,具体代码如下:
git fetch --all
git reset --hard origin/master
git pull //可以省略
git fetch 指令是下载远程仓库最新内容,不做合并
git reset 指令把HEAD指向master最新版本
-
清缓存
git .ignore 清除缓存方法D:\workspace\mark_doc>git rm -r --cached . rm '.gitignore' rm 'README.md' rm 'markdown/database/存储过程.md' Warning: Your console font probably doesn't support Unicode. If you experience strange characters in the ou tput, consider switching to a TrueType font such as Consolas! D:\workspace\mark_doc>git add . warning: LF will be replaced by CRLF in .idea/inspectionProfiles/Project_Default.xml. The file will have its original line endings in your working directory. D:\workspace\mark_doc>
git 新增忽略提交文件
git rm -r --cached . git add . git commit -m .gitignore git status
- mkdir [文件夹名] - git init - git init [文件夹名] - git clone [gitUrl] - git clone [gitUrl] [本地地址及名称] - git status - git status -s -s,获得简短的结果输出 - git diff - git diff --cached - git diff HEAD - git diff --stat - git add . - git add [文件名] - git commit - git reset HEAD 用于取消已缓存的内容。(已经被add,可以取出commit行列) 执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存。 - git rm [文件名] 直接删除文件 - git rm --cache [文件名] - git rm -f [文件名] - git rm -r * 可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件 - git mv del.md test.md 命令用于移动或重命名一个文件、目录、软连接。(将del.md重命名为test.md) git 分支 - git branch [branchName] 创建分支命令 - git checkout [branchName] 切换分支命令 - git merge [branchName] 将branchName分支合并到当前分支 - git branch 列出本地分支列表 - git branch --list 同上 - git - ls 列出文件列表 - ll 列出文件列表(包含权限) - git checkout -b [newBranchName] 创建newBranchName并切换到新分支 - git branch -a 查看所有分支列表 - git branch -d [branchName] 删除分支 - git log 查看提交历史 - git log --oneline 查看历史记录简介版本 - git log --oneline --graph 查看log树 - git log --reverse --oneline 也可以用 '--reverse'参数来逆向显示所有日志。 git log --author=guofei --oneline -5 只查看guofei提交的日志,5行 --no-merges 选项以隐藏合并提交 - vim [文件名] 编辑某文件 - git tag -a v1.0 给当前提交添加标签 - git tag -a v0.9 [da6835e] 给某个提交插入标签 - git tag 查看tag - git tag -a test - git tag -d v1.0 删除标签 - git show v1.0 查看v1.0提交的内容
git 创建git仓库到指定目录
mayn@DESKTOP-L7PRRDN MINGW64 ~/Desktop/test_git
$ git init repo
Initialized empty Git repository in C:/Users/mayn/Desktop/test_git/repo/.git/
mayn@DESKTOP-L7PRRDN MINGW64 ~/Desktop/test_git
$
git clone 代码到当前目录以... 命名文件夹
mayn@DESKTOP-L7PRRDN MINGW64 ~/Desktop/test_git
$ git clone https://gitee.com/guo_fei/gf_learn.git learn
Cloning into 'learn'...
remote: Enumerating objects: 837, done.
remote: Counting objects: 100% (837/837), done.
remote: Compressing objects: 100% (676/676), done.
remote: Total 837 (delta 337), reused 119 (delta 56)0 KiB/s
Receiving objects: 100% (837/837), 26.52 MiB | 315.00 KiB/s, done.
Resolving deltas: 100% (337/337), done.
mayn@DESKTOP-L7PRRDN MINGW64 ~/Desktop/test_git
$
查看git状态
mayn@DESKTOP-L7PRRDN MINGW64 ~/Desktop/test_git/learn (test)
$ git status
On branch test
Your branch is ahead of 'origin/test' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
- 上传本地代码到远程仓库
# 创建本地仓库
git init
# 添加所有文件到缓存里
git add .
# 提交本地代码到本地仓库
git commit -m <message>
# 解除现有的git仓库关联
git remote rm origin
# 添加新的git仓库关联
git remote add origin https://gitee.com/guo_fei/gf_netty.git
# 设置默认的推送参数(全部分支)
git config --global push.default matching
# 设置默认的推送参数(当前分支)
git config --global push.default simple
# 强制推送代码到远程仓库分支
git push -u origin master -f
# 拉取分支代码(idea 文件不变色)
git checkout master