zoukankan      html  css  js  c++  java
  • git常用命令,冲突

    使用多个仓库
    git push cangkuming fenzhiming
    删除远程仓库
    git push 远程仓库名 :删除目标分支    # 需要先删除本地目标分支


    git pull <远程主机名> <远程分支名>:<本地分支名> //取回远程主机某个分支的更新,再与本地的指定分支合并。

    使用Git下载指定分支命令为:git clone -b 分支名仓库地址

    Git常用命令 工作区(file) --> git add file(暂存区) --> git commitf -m 'x'(版本库) mkdir itsgit 创建也个git管理用的版本库 cd itsgit git init 将该目录变成git能够管理的仓库 将需要管理的文件添加到仓库里 git add filename,filename2 --将工作区文件放入暂存区 git commit -m '说明' --一次性把暂存区的所有修改提交到分支(master)HEAD指向master。 git log 查看历史记录 git log --pretty=oneline 版本回退 上一个版本就是HEAD^,上上一个版本就是HEAD^^, 当然往上100个版本写100个^比较容易数不过来,所以写成HEAD`100 git reset --hard HEAD^ 多返回了版本 只要还知道commit id git reset --hard id git reflog用来记录了每一次commit id git怎样跟踪file git跟踪并管理的是修改,而非文件。 执行: 修改file --> git add file --> 再次修改file --> git commit git diff HEAD -- file 查看版本库最新file和工作区file的区别 git在这个过程只记录了第一次修改的内容,第二次将不会记录,如果版本回退在跳回来,第二次修改的内容会丢失 git放弃修改 1.仅仅工作区的修改时,用命令git checkout -- file 2.工作区修改后,并add到暂存区 先git reset HEAD file(文件到了add之前在工作区的状态),在执行上述第一点 3.并且commit了,使用版本回退功能 删除文件 工作区 rm file ;版本库 git rm file .可以放弃删除,by git reset HEAD file and git checkout file 在工作区失误删除了file(前提该file存在暂存区或版本库) git checkout file
    查看当前分支
    git branch

     -- 本地库连接远程库

    提交到远程仓库  git分布式版本库  

    远程仓库Github
    git init 初始化本地项目
    git add projiect
    git commit -m 'say something'
    git remote add `anyname` https://github.com/tangpinggui/oasystem  连接远程仓库
    git push -u `anyname` master  第一次提交
    git push 以后提交 or 多个仓库不同分支 git push anyname A:B A:本地分支名 B:远程分支名

    git push -u origin master报错  是因为 版本内容不同步

    To https://github.com/tangpinggui/oasystem.git
     ! [rejected]        master -> master (fetch first)
    error: failed to push some refs to 'https://github.com/tangpinggui/oasystem.git'
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing
    hint: to the same ref. You may want to first integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    (tornado1) pyvip@Vip:~/oasystem$ git remote add origin git@github.com:tangpinggui/oasystem.git
    fatal: remote origin already exists.

    解决方法:

    git pull --rebase origin master  同步远程文件
    或者:
    git pull origin master --allow-unrelated-histories
    
    git merge origin/master
    
    git push -u origin master
      -- 先创建远程库在克隆远程库
    git clone https://github.com/tangpinggui/remotelibrary   克隆版本库 ,成功后就有了这个 remotelibrary 目录
     
     
    创建分支:

    创建与合并分支


    版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。

    一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:

    之前状态:

    git-br-initial‘                  

     创建dev分支
    git checkout -b dev
     
     
     
     
    创建之后:Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上。再次commit时,则指针dev移动,master则不移动
    加入修改了某个文件,并且commit。它则被 dev记录
    这时跳回master,修改内容消失。说明master指针未移动,在次转回dev,内容还在。
    git checkout master
    git-br-create
    完事后在合并指针,将dev工作成果合并到master   ps:需要去到 git checkout master分支 在执行合并
     git merge dev
     合并完成后删除dev   git branch -d dev
     
    --------------------------------------------------------------------------------------

    查看分支:git branch

    创建分支:git branch <name>

    切换分支:git checkout <name>

    创建+切换分支:git checkout -b <name>

    合并某分支到当前分支:git merge <name>

    删除分支:git branch -d <name>

     
    ex: 一个简单的分支合并思路
    1. master
    commit1 - commit2 - commit3 - commit4 - commit5
    2.checkout newbrabch 新的分支在master commit创建,并新增功能
    commit2 - newcommit1
    3.将newcommit1和commit5合并
    首先checkout commit5
    然后marge into current, 如果只是单纯的增加了代码,那么会直接合并。如果是修改了代码,需要手动选择应该留下的代码
     
     另外在git init的目录下创建 .gitignore文件。
    在该文件可以申明不追踪的目录,比如 加入 static/
     
     
  • 相关阅读:
    _bzoj1061 [Noi2008]志愿者招募【最小费用最大流】
    _bzoj2243 [SDOI2011]染色【树链剖分】
    _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
    _bzoj1002 [FJOI2007]轮状病毒【瞎搞】
    leetcode 273 Integer to English Words
    leetcode 12 Integer to Roman
    leetcode 1071 Greatest Common Divisor of Strings
    lc6 ZigZag Conversion
    lc13 Roman to Integer
    leetcode 171 Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/tangpg/p/8944217.html
Copyright © 2011-2022 走看看