Git-1

2020-04-01  本文已影响0人  巴巴11

初始化git仓库(生成.git目录)
git init

将文件提交到暂存区(git status 状态为绿的)
git add <filename>
git add .

将文件从暂存区移除(在commit之前,将文件从绿色变为红色)
git reset <filename>

查看文件状态
git status

将暂存区的文件进行提交
git commit -m <message>

查看commit记录
git log

文件的四种状态


image.png

说明:

新建一个文件:untracked
git add filename : staged (git status显示状态为绿的)
git commit : 状态为 unmodified
再次编辑: modified

git对比仓库中文件和现有文件,如果没有差异,就是unmodified,否则就是modified。

常用git命令:

git add 
git reset
git commit
git push
git status
git branch
git rebase
git merge
git cherry-pick
git stash
git pull
git fetch
git log
git reflog
git remote
git clone

设置命令别名:
alias
修改.git目录的config文件配置

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = git@github.com:xywanhh/myPlugins.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
// 新增alias
[alias]
        ad = add .
        cmm = commit -m
        lg = log
        rlg = reflog
        co = checkout
        cob = checkout -b
        cod = checkout develop
        com = checkout master
        fc = fetch
        cm = commit
        st = status
        pl = pull
        ps = push

版本回退
git reset <commitID>
commitID使用全称和前七位都是一样的,都能唯一代表一个commit版本

不带参数,默认是mixed

想回到最新的commit点,可以直接git pull

git reset 34d42ef --hard
git reset 34d42ef --soft
git reset 34d42ef --mixed

--hard : 不保存所有的变更
--soft : 保留变更且变更内容出于staged
--mixed : 保留变更且变更内容出于modifed

分支 branch
git checkout -b <new branch name> <template>
template参数表示新的分支以哪个分支或者commitId作为模板创建。如果为空,则以当前所在分支为模板。

如果template的分支不是本地的,而是用远程仓来做,则需要加上origin
git checkout -b newBranchname origin dev

切换回已有的分支上去
git checkout master

查看所有分支
git branch
master

分支合并
git merge <branchName>

场景:
主线分支master
创建分支1.0.0
git checkout -b 1.0.0
在1.0.0分支上,新拉两个分支
git checkout -b dev1
git checkout -b dev2
回到主线,合并分支
git checkout 1.0.0
git merge dev1
git merge dev2
解决冲突(手动决定保留那些代码),并commit
git commit

远程仓库remote
本地新建分支,并push到远程仓库
git clone remoteUrl
git checkout -b dev
git push (报错)
git push --set-upstream origin dev (此时远程端有了dev分支)

拉取远程仓库信息
git fetch

git branch只能看到本地仓库的分支,看不到远程仓的分支信息
git checkout dev (新建的dev分支设置了上流分支dev)

拉取pull
git pull (效果等同于git fetch + git merge)

变基 rebase
master 有3个commit点 125
dev有4个commit点1234
然后变更dev为12534:
git rebase master
解决冲突
继续下一个rebase
git rebase --continue

上一篇下一篇

猜你喜欢

热点阅读