git

作者: 骚包霸天虎 | 来源:发表于2018-03-26 11:45 被阅读0次

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远程
  1. 下载一个项目和它的整个代码历史

    $ 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

  1. 显示有变更的文件

    $ 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] 表示单个文件的撤回到工作区) 表示将暂存区的所有文件撤回到工作区

    ...未完待续

相关文章

网友评论

      本文标题:git

      本文链接:https://www.haomeiwen.com/subject/zkzlcftx.html