美文网首页
Git学习文档

Git学习文档

作者: loewe0202 | 来源:发表于2019-04-15 11:09 被阅读0次

    Git global setup

    git config --global user.name "@name"
    git config --global user.email "@email"
    

    Create a new repository

    git clone https://xxx.git
    cd  new_folder
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master
    

    Existing folder

    cd existing_folder
    git init
    git remote add origin https://xxx.git
    git add .
    git commit -m "Initial commit"
    git push -u origin master
    

    Existing Git repository

    cd existing_repo
    git remote rename origin old_origin_name
    git remote add origin https://xxx.git
    git push -u origin --all
    git push -u origin --tags
    

    删除远程分支

    git push origin --delete <BranchName>
    

    删除本地分支

    git branch -d <BranchName>
    

    新建分支

    git checkout -b <BranchName>
    git push --set-upstream origin <BranchName> // 将本地分支和远程分支关联
    

    合主分支

    git pull
    git merge origin/master
    

    版本回退

    git reset --hard
    

    远程覆盖本地

    git fetch --all
    git reset --hard origin/master
    git pull
    

    本地覆盖远程

     git push origin develop:master -f
    // 把本地的 develop 分支强制(-f)推送到远程 master
    // 但是上面操作,本地的 master 分支还是旧的,通常来说应该在本地做好修改再去 push 到远端,所以我推荐如下操作
    
    git checkout master 
    // 切换到旧的分支
    
    git reset --hard develop  
    // 将本地的旧分支 master 重置成 develop
    
    git push origin master --force 
    //再推送到远程仓库
    

    git fetch 只是下载远程的库的内容,不做任何的合并

    同步 Fork 他人的最新代码

    查看是否有远程分支的别名

    git remote -v 
    

    示例:git remote -v

    origin https://github.com/a/a.git (fetch)
    origin https://github.com/a/a.git (push)

    添加 Fork 代码 Git 地址:git remote add upstream https://github.com/b/b.git

    upstream https://github.com/b/b.git (fetch)
    upstream https://github.com/b/b.git (push)
    origin https://github.com/a/a.git (fetch)
    origin https://github.com/a/a.git (push)

    拉取最新代码:git fetch upstream
    代码合并:git merge upstream/master
    代码提交:git push

    Git 工具 - 储藏(Stashing)

    当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。

    • git stash:存储你现在的工作在本地
    • git stash list:查看现有的储藏
    • git stash apply:重新应用你刚刚实施的储藏
    • git stash apply stash@{2}:重新应用指定状态的储藏
    • git stash apply --index:重新应用被暂存的变更
    • git stash drop stash@{0}:移除储藏列表[0]
    • git stash pop:重新应用储藏,同时立刻将其从堆栈中移走

    取消储藏(Un-applying a Stash)

    git stash show -p stash@{0} | git apply -R
    

    同样的,如果你沒有指定具体的某个储藏,Git 会选择最近的储藏:

    git stash show -p | git apply -R
    

    你可能会想要新建一个別名,在你的 Git 里增加一个 stash-unapply 命令,这样更有效率。例如:

    git config --global alias.stash-unapply '!git stash show -p | git apply -R'
    git stash apply
    #... work work work
    git stash-unapply
    

    解决冲突

    对于一般的冲突,执行以下命令都能解决

    git add -A
    git commit -m '提交'
    git pull
    git merge origin/master   (如果没有冲突可直接执行下面语句,有冲突的话先对比解决冲突,解决后再执行下面的语句)
    

    git reflog

    只要HEAD发生变化,就可以通过reflog查看到

    相关文章

      网友评论

          本文标题:Git学习文档

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