当前位置:   article > 正文

git-提交代码等命令基本操作,本地项目如何提交到远程github,修改用户名密码_git命令上传代码

git命令上传代码

git常用命令

1.初始化(git init)

进入到对应的目录,右键Git Bash Here

$ git init
Initialized empty Git repository in D:/project/git-demo/.git/
  • 1
  • 2

生成隐藏的.git文件夹则成功

2. 本地提交代码篇 (git add/commit)

  • add
$ git add demo.txt
# 不加入git管理
git rm --cached demo.txt
git rm --cached -f demo.txt # 上面删除不掉时可以强制

  • 1
  • 2
  • 3
  • 4
  • 5

查看状态命令

$ git status
  • 1

新增文件太多,使用
git add *
或则
git add *.java (提交所有的java文件)

  • commit
$ git commit demo.txt -m '提交的第一个文件demo.txt'
  • 1

再次查看状态

3.查看日志(log)

$ git log
  • 1

如果提交记录太多,一页展示不下则会分页

  • 下一页:空格
  • 上一页: b
  • 退出: q

简化查看日志

$ git log --pretty=oneline
$ git log --oneline
  • 1
  • 2

查看退回需要多少步日志

$ git reflog
  • 1

HEAD@{数字} :里面的数字表示如果退回到历史版本需要多少步

git log --graph # 使用图标的方式查看日志
  • 1

4.rebase 操作

1.rebase 合并本地的多个commit

1. git rebase -i [logid] # 或者 git rebase -i origin master(远程分支) 
2. 手动选择合并多个提交的方式
pick  # 选择该提交
squash # 选择该提交,但是合并到上一个提交中
drop  # 丢弃修改
reword # 选用该提交,但是修改提交备注

3. 推送远程即可
git push origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2. 本地有commit未push,远程又有更新文件

1.如果至今pull 会有一条merge的记录,不太友好,可以采用如下方式

1.  拉取代码,并且采用rebase的方式
git pull origin master --rebase 

2.(如果有冲突)
手动解决冲突后
git add 文件
git rebase --continue 

3. 推送远程分支 
git push origin master (提交到远程分支即可)

git rebase --abort 取消rebase操作
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

3. 合并远程已经push的commit(慎用)

操作方式与【1.rebase 合并本地的多个commit】相同,只是推送是需要强制推送(慎用)

git push -f origin master 
  • 1

reset回退/前进到之前的版本

$ git reset --hard a52f5f1 # 版本号前缀使用git log --oneline 可以获取
$ git reset --mixed HEAD~ #mixed 默认~代表上一个快照等同于 HEAD~1
$ git reset --soft HEAD~
 -- 还原后强制推送
$ git push -f origin master
  • 1
  • 2
  • 3
  • 4
  • 5

–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'
  • 1
  • 2
  • 3

分支相关操作(git branch)

查看分支

$ git branch -v  #本地分支
git branch -r # 远程分支
git branch -a #所有分支
  • 1
  • 2
  • 3

创建分支

$ git branch dev20210301 # dev20210301 分支名
  • 1

删除本地分支

git branch -d 分支名
  • 1

切换分支checkout

$ git checkout dev20210301 
  • 1

* 表示当前所在的分支

拉取远程分支

git fetch origin 分支名
git checkout -b 本地分支名 origin/远程分支名
  • 1
  • 2

远程仓库remote/push

查看远程仓库别名

$ git remote -v
  • 1

给远程仓库创建一个别名

$ git remote add 别名 远程仓库地址  # 如git remote add origin https://github.xxx.xx.git
  • 1

推送至远程仓库:

  • 初始化 init (参考前面的)
  • add/commit (参考前面的)
  • push
$ git push [远程仓库地址|别名] [分支]
  • 1

由于之前创建项目时手动添加了一个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
  • 1

继续出现错误

$ 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
  • 1
  • 2

再次打开隐藏的本地代码

$ git stash pop
  • 1
  • 再次推送,成功
git push origin master
  • 1

修改本地用户命密码

window:控制面板\所有控制面板项\凭据管理器 找到【windows 凭证】对应git的账号地址,直接删除

取消正在合并(有冲突)

git merge --abort
取消合并没有冲突,未push
git reset --merge ORIG_HEAD

下载远程分支

git clone url  
会自动生成别名origin
  • 1
  • 2

修改备注

1.git commit --amend
2.使用vim编辑器编辑,按a或者i进入编辑模式
3.:wq 

  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号