1.先保存本地所有修改到暂存区
git stash
2.下载远程代码到本地工作区
git pull
3.将暂存区代码与工作区代码合并
git stash pop
4.此时可能会有冲突,解决冲突
git mergetool
5.解决完冲突后,给想要提交的代码添加索引
git add . 这个命令是添加所有修改文件
git add fileName 这个命令是添加单个文件
6.将已经有提交索引的代码提交到本地仓库
git commit fileName -m "添加注释"(不加注释进入vi编辑添加注释,若进入vi编辑后,shift+; ,再输入wq! 回车后退出vi编辑)
git commit . 这个命令是提交所有待提交文件
git commit fileName 这个命令是提交单个文件
7.将本地仓库的提交推送到远程服务器
git push 这个命令是简化版,可以默认推送代码至当前分支的远程分支上
git push origin feature_name 这个命令是完整版,将代码推送至指定远程分支上
注意:
1.如果使用git add命令后,想要放弃添加提交索引:
git checkout head fileName 这个命令是删除某个文件的提交索引
2.如果使用git commit命令后,想要放弃提交:
git reset head fileName 这个命令是将该文件返回到提交之前的状态
3.如果提交到远程后,想要放弃某一次提交,推荐使用:
git revert commitId 这个命令会将指定commitId的提交反转提交,中和掉指定提交的内容,并在git log上生成一条新的提交记录
4.查看git文件状态
git status
5.查看提交状态
git log filename 查看单个文件的所有历史提交记录
git log -p fileName 显示指定文件相关的每一次diff
git log 这个命令可以显示当前分支下本地最新的所有提交记录
git log --stat 这个命令可以将显示详细提交信息(包含增删改文件数)
git log --author userName 这个命令可以显示指定提交人的提交记录
5.查看提交树
gitk 这个命令可以查看当前分支的提交版本树
(4)gitk命令显示中文乱码解决
添加如下配置项:
(1) git config --global gui.encoding UTF-8
(2) git config --global i18n.commitencoding UTF-8
(3) git config --global i18n.logoutputencoding UTF-8
(5)其他说明
我看到我们有些同学的操作流程是这样的:
① 有本地的代码修改后,pull代码
② 有时候会有冲突,pull代码失败
为了能正常pull代码,强烈建议各位同学:
① 有本地修改后,如果要pull代码,先暂存本地修改,即执行:git stash
② 这样一定能pull下最新代码,再将暂存区代码pop出来与工作区合并:git stash pop
③ 此时可能会有冲突,解决冲突即可
(6)使用插件的同学,也可参照上述操作流程,先暂存,再拉取,再pop暂存,解决冲突,提交代码,push远程
-
下载一个项目和它的整个代码历史
$ git clone [url]
列出所有本地分支
$ git branch
列出所有远程分支
$ git branch -r
切换到指定分支,并更新工作区
$ git checkout [branch-name]
合并指定分支到当前分支
$ git merge [branch]
修改日志时间格式
$ git config --global log.date format:%Y-%m-%d\ %H:%M
把修改后的时间格式设置为不使用
$ git config --global --unset log.date
具体显示哪个文件的哪一行是谁写的
$ git blame filename
设置gitk树的编码格式
$ git config --global gui.encoding UTF-8
git config --global i18n.commitencoding UTF-8
git config --global i18n.logoutputencoding UTF-8
-
显示有变更的文件
$ git status
显示暂存区和工作区的差异
$ git diff
取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]
上传本地指定分支到远程仓库
$ git push [remote] [branch]
恢复暂存区的指定文件到工作区
$ git reset [file]
恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]
恢复暂存区的所有文件到工作区
$ git reset .
对于工作区的已存在的文件进行修改,如修改的内容不需要了,则执行命令
$ git checkout [文件名]
对于工作区的新增的文件,如不需要此文件了 ,则执行命令
$ rm -f [文件名]
pull代码时候假如报了: Your local changes to the following files would be overwritten by merge ,可执行命令
$ git stash 表示先将自己的修改放到暂存区
$ git pull 此时可以拉取代码
$ git stash pop 再将自己的修改的内容重新拿回来(此时修改的文件还在暂存区)
$ git reset . (或者 git reset [fileName] 表示单个文件的撤回到工作区) 表示将暂存区的所有文件撤回到工作区...未完待续
网友评论