修订日期 | 内容 |
---|---|
2021-2-28 | 初稿 |
git-命令提交代码等基本操作,本地项目提交到github
git常用命令
1.初始化
进入到对应的目录,右键Git Bash Here
$ git init
Initialized empty Git repository in D:/project/git-demo/.git/
生成隐藏的.git文件夹则成功
2. 本地提交代码篇
- add
$ git add demo.txt
# 还原
git rm --cached demo.txt
查看状态命令
$ git status
新增文件太多,使用
git add *
或则
git add *.java
(提交所有的java文件)
- commit
$ git commit demo.txt -m '提交的第一个文件demo.txt'
再次查看状态
3.查看日志
$ git log
如果提交记录太多,一页展示不下则会分页
- 下一页:空格
- 上一页: b
- 退出: q
简化查看日志
$ git log --pretty=oneline
$ git log --oneline
查看退回需要多少步日志
$ git reflog
HEAD@{数字} :里面的数字表示如果退回到历史版本需要多少步
reset回退/前进到之前的版本
$ git reset --hard a52f5f1 # 版本号前缀使用git log --oneline 可以获取
$ git reset --mixed HEAD~ #mixed 默认~代表上一个快照等同于 HEAD~1
$ git reset --soft HEAD~
-- 还原后强制推送
$ git push -f origin master
–hard 回退后会清除自己本地的修改记录
–soft 回退后会保留自己的修改内容,使用git status查看上次的提交记录未移除, 再次提交不需要add,仅commit即可
–mixed 与soft 一样会保留自己的修改记录,使用git status 查看,上次的提交记录移出了本地工作目录,再次提交需要先add,然后commit
删除文件并还原
删除操作与添加文件一样,删除后先add 然后commit即可
$ rm demo.txt # 直接鼠标删除也行
$ git add demo.txt
$ git commit demo.txt -m '删除文件demo.txt'
分支相关操作
查看分支
$ git branch -v #本地分支
git branch -r # 远程分支
git branch -a #所有分支
创建分支
$ git branch dev20210301 # dev20210301 分支名
切换分支checkout
$ git checkout dev20210301
* 表示当前所在的分支
拉取远程分支
git fetch origin 分支名
远程仓库remote/push
查看远程仓库别名
$ git remote -v
给远程仓库创建一个别名
$ git remote add 别名 远程仓库地址 # 如git remote add origin https://github.xxx.xx.git
推送至远程仓库:
- 初始化 init (参考前面的)
- add/commit (参考前面的)
- push
$ git push [远程仓库地址|别名] [分支]
由于之前创建项目时手动添加了一个master分支且创建了readme.rm文件,所以第一次推送冲突,建议创建项目时不要马上添加rm文件
$ git pull origin master
From https://xxx/spring_cloud_demo
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
出现错误,使用下面的
$ git pull origin master --allow-unrelated-histories
继续出现错误
$ git pull origin master --allow-unrelated-histories
From https://xxxxx/spring_cloud_demo
* branch master -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
.idea/.gitignore .idea/compiler.xml .idea/encodings.xml .idea/jarRepositories.xml >.idea/misc.xml .idea/uiDesigner.xml .idea/vcs.xml .idea/workspace.xml > spring_cloud_demo
$ git stash # 隐藏本地修改
$ git pull origin master --allow-unrelated-histories
再次打开隐藏的本地代码
$ git stash pop
- 再次推送,成功
git push origin master
修改本地用户命密码
window:控制面板\所有控制面板项\凭据管理器 找到【windows 凭证】对应git的账号地址,直接删除
取消正在合并(有冲突)
git merge --abort
取消合并没有冲突,未push
git reset --merge ORIG_HEAD
下载远程分支
git clone url
会自动生成别名origin