Git提交代码步骤
-
查看Git项目文件的状态
$ git status
Untracked files 表示未追踪的文件
Changes not staged for commit 表示内容改变需要git add加到暂存区 -
工作区 > 暂存区
$ git add <filename> / git add . //'.'表示当前目录下的全部文件 $ git reset HEAD <filename> //撤销添加到暂存区
-
暂存区 > 当前分支(版本库)
$ git commit -m "commit message"
$ git checkout --<filename>
撤销文件在工作区的全部修改:
- 修改后还没有被放到暂存区,撤销修改后回到版本库状态;
- 已经添加到暂存区又作了修改,撤销修改后回到添加到暂存区后的状态。
-
推送到远程分支、冲突解决
$ git push [remote-name] [branch-name]
$ git pull --rebase //保留冲突从远程仓库拉取最新的代码
- 若是提示信息里没有提示冲突的文件,则继续git push
- 若是提示冲突文件,在每个冲突文件中删除“HEAD ----->>>>”等冗余字符
保留需要的代码确认无误后,执行以下代码:
$ git add . $ git rebase --continue $ git push
- 还有个情况,会删除冲突文件,可以退出rebasing,再git pull拉取代码进行merge操作
$ git rebase --abort
-
代码储存
-
git pull
时若是还有未提交的改变,会提示错误:
error: cannot pull with rebase: Your index contains uncommitted changes.
error: please commit or stash them.
- 若有一些不需要传到版本库的文件,可以在commit之后,用stash命令储存改变,待传完后释放。
$ git stash //储存在刚提交的分支上(未追踪的文件不会被储存) $ git stash apply //恢复最新的进度到工作区 $ git stash list //显示保存进度的列表 $ git stash apply [stash_id] //恢复指定的进度到工作区
-
其他命令
-
显示所有提交过的版本信息
$ git log // 利用这个版本记录,可以回退到我们之前提交的任何一次提交过的版本
-
查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
$ git reflog
-
回退到任意一次记录
$ git reset --hard [log_id]
-
查看版本改动
- 工作区<->暂存区
$ git diff
- 当暂存区中没有文件时,git diff比较的是,工作区中的文件与上次提交到版本库中的文件。
- 当暂存区中有文件时,git diff则比较的是,当前工作区中的文件与暂存区中的文件。
- 暂存区<->版本库
$ git diff --cached
- 工作区<->版本库
$ git diff HEAD --<filename>
-
大小写重命名
$ git mv -f <oldfilename> <newfilename>
大小写修改识别不出,需要先修改成其他名字再改回来
-
分支重命名
$ git branch -m <oldbranchname> <newbranchname>
不懂的问题都可以留言哦~
网友评论