git操作知识

我常干还老忘记的命令
设置本地分支与远程分支的追踪关系    git branch --set-upstream-to=origin/develop develop_15594
git stash save '7818编译备份'
git rebase -i HEAD~n(或者版本号)               (n为数字)把多次提交合并成一个
会遇见这几个字母,一般使用s,f,前后是根据提交顺序判断前后的
    p (pick):保留该提交不变。这是默认操作。
    r (reword):重新编写该提交的消息。这允许您更改提交信息而不改变提交的实际内容。
    e (edit):编辑该提交的内容。这允许您在提交之前对文件进行任何更改。
    s (squash):合并【这一个提交】到【这一个提交】上次的提交中。这有助于减少提交历史中的杂乱。
    f (fixup):类似 squash,但是通常用于那些不需要自定义提交消息的小改动,因为提交消息会被自动采用前一个提交的消息。
    d (drop):删除这个提交。
    x (exec):执行自定义命令(通常用于钩子脚本)。

                


本地相关分支命令:
git branch                                                 [查看分支]
git branch -a                                              [查看所以分支,包括远程]
git branch -vv                                             [查看分支,显示本地分支与远程分支的跟踪关系]
git branch <name>                                          [创建本地分支]
git branch -d <name>                                       [删除空分支]
git branch -D <name>                                       [删除非空分支]
git branch -m oldbranchname newbranchname                  [git分支重命名]
git checkout <name>                                        [切换分支]
git checkout -b <name>                                     [创建+切换分支]
git checkout -b newbranchname commitid                     [指定某个git的版本代码拉取新的分支]

远端相关分支命令:
git fetch -p -v                                            [拉取最新git分支信息]
git checkout -b localbranchname origin/origin_branchanme   [拉取远程分支到本地, 本地分支会与远程分支建立映射]
git fetch origin origin_branchanme:localbranchname         [拉取远程分支到本地,本地分支不会与远程分支建立映射]
git pull origin origin_branchanme:localbranchname          [取回远程主机某个分支的更新,再与本地的指定分支合并]
git pull origin name                                       [取回远端的name分支与本地name分支合并]
git pull                                                   [取回远端同名分支并合并当前分支]
git push -u origin/remote_branch                           [远端已有remote_branch,但未关联本地local_branch且本地已经切换到lcoal_branch]
git push origin local_branch:remote_branch                 [远程没有remote_branch分支,本地已经切换到local_branch分支]
git push origin --delete origin_branchanme                 [删除远程分支]
git fetch origin dev                                       [获取远端的origin/dev分支]
git fetch origin master:master1                            [在本地建立master1分支,并下载远端的origin/master分支到master1分支中]

提交相关命令
git add filepath                                           [添加正在工作的文件到暂存区]
git reset HEAD .                                           [将所有add的文件从暂存区拉出来]
git restore --staged .                                     [将所有add的文件从暂存区拉出来]
git reset HEAD filepath                                    [将add过的filepath从暂存区拉出来]
git restore --staged filepath                              [将add过的filepath从暂存区拉出来]
git checkout filepath                                      [需要配合git reset filepath,因为只有不在暂存区的文件,才能还原修改]
git commit -m "desc"                                       [提交暂存区到分支]
git commit --amend -m "new desc"                           [git修改提交注释]           
git clean -d -x                                            [用于清除没有tracked的文件]
git rm --cached filepath                                   [不删除物理文件,仅将该文件从缓存中删除,会不追踪此文件]
git rm --f filepath                                        [不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)]

查看
git diff                                                   [查看add之前的修改]
git diff --cached                                          [查看add但是还未commit的文件]
git diff --name-only --cached                              [查看已经git add了哪些文件]
git diff master1                                           [查看本地master1分支与当前分支的版本差异]
git show                                                   [查看上一次commit的修改]
git status                                                 [显示被更改过的但未commit的文件]
git log -number                                            [查看最近的数字个提交日志]
git log -p master..origin/master                           [示例1:查看本地master与远端origin/master的版本差异]

回退
git reset filepath
git reset --hard HEAD^                                     [回退版本:(一个^会退一个版本)(HEAD也可以换成版本号)hard回退是删除所作的修改,soft回退时不删除所作的修改]

合并
git merge --abort                                          [回到merge之前的状态]
git merge dev1                                             [合并本地分支dev1到当前分支]
git merge origin/master                                    [合并远端分支origin/master到当前分支]

栈命令
git stash save "desc"                                      [将修改放到栈区]
git stash clear                                            [清空栈区]
git stash drop stash@{0}                                   [指定删除栈区]
git stash apply stash@{0}                                  [应用栈区,被应用栈区还保留]
git stash pop stash@{0}                                    [应用栈区,同时删除被应用的栈区]

查看url
git remote -v                                              [查询当前远程分支]

git配置命令
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
git config --global color.ui true|false                    [启用禁用颜色]
git config --global credential.helper store                [记住账号密码]
git config --global user.name "username"                   [指定自己的用户名]
git config -- global user.email "mail"                     [指定自己的用户名]

          
            
git rebase -i HEAD~n(或者版本号)                          [(n为数字)把多次提交合并成一个]
会遇见这几个字母,一般使用s,f,前后是根据提交顺序判断前后的
    p (pick):保留该提交不变。这是默认操作。
    r (reword):重新编写该提交的消息。这允许您更改提交信息而不改变提交的实际内容。
    e (edit):编辑该提交的内容。这允许您在提交之前对文件进行任何更改。
    s (squash):合并【这一个提交】到【这一个提交】上次的提交中。这有助于减少提交历史中的杂乱。
    f (fixup):类似 squash,但是通常用于那些不需要自定义提交消息的小改动,因为提交消息会被自动采用前一个提交的消息。
    d (drop):删除这个提交。
    x (exec):执行自定义命令(通常用于钩子脚本)。


创建版本库命令:
              mkdir 文件夹名        
              cd 文件夹        (进入创建的目录)
              pwd    看看自己在那个目录(也就是自己版本库的位置)
              git init    (将你创建的目录变成git可以管理的仓库, 成功会多出一个默认隐藏的.git文件)

 

posted @ 2025-03-17 10:15  璀丶璨星灬空  阅读(12)  评论(0)    收藏  举报