• git常用命令


    1、初始化和关联远程仓库

    初始化git仓库文件夹: git init

    本地关联远程仓库:git remote add origin https://xxx.git

    查看是否关联本地仓库: git remote -v 

     2、拉去和提交代码

    查看本地代码修改的状态: git status

    添加所有修改的文件到缓存中: git add .

    提交代码:git commit -m "修改内容"

    将修改代码推送到远程分支:git push 或者 git push origin 分支名。(第一次推代码:git push -u origin 分支名)

    拉去分支代码:git pull 或者 git pull origin 分支名

    克隆远程代码:git clone http://xxx.git

    切换已存在的分支:git checkout 分支名

    3、新建分支或者切换分支

    新建并切换到新建分支上: git checkout -b 新的分支名

    将新建的分支推送到远程:git push origin 新的分支名

    查看远程的分支有哪些:git branch -a

    查看本地的分支有哪些: git branch -v

    切换分支: git checkout 分支名

    4、根据提交记录生成新的分支

    先执行git log命令,查看提交的时间节点所对应的commitID(复制commit后面的一长串)

    然后创建并切换到新生成的分支:git checkout commitID(复制commit后面的一长串) 新分支名称

    最后将新生成的分支推送到远程:git push origin 新分支名

     5、合并分支,比如将代码合并的master

    先切换到master分支:git checkout master

    拉去更新最新master代码:git pull origin master

    查看所有分支都已经pull下来了:git branch -a

    将dev分支代码合并到master上:

      1、根据commitId合并:git cherry -pick commitId

      2、根据名称合并:git merge 分支名称

    查看合并状态:git status

    有冲突解决冲突后,将代码提交远端master上,现在远端master就是我们合并后的最新的代码

    6、暂存(如果是多人开发,拉代码前一定要将本地的修改先暂存起来再去拉,避免本地和远端代码冲突而拉取失败问题)

    先暂存本地修改的内容:git stash save '暂存的标记名称'

    查看暂存记录:git stash list

    注:暂存记录里每条数据前面会有stash@{index}编号,比如位于第一条数据就是stash@{0}

    取出暂存里对应编号的数据,取出后会自动删除本条记录:git stash pop stash@{index}

    取出暂存里对应编号的数据,取出后仍然保存当前记录:git stash apply stash@{index}

    删除暂存里对应编号的数据:git stash drop stash@{index}

    删除暂存里所有数据:git stash clear

    列子:

      1.拉取远程代码提示有文件冲突。

      2.暂存本地代码:git stash sava "暂fe存"

      3.查看暂存本地列表: git stash list

      4.在拉取去远程master分支代码,现在不会冲突,因为已经将本地的代码暂存起来,本地只有远程的代码

      5.取出暂存的代码:git stash pop stash@{index}  它会将本地暂存的代码取出并且合并到master分支上,现在我们本地的文件就会有冲突,我们只需要将冲突文件修改解决即可

      6.将本地的代码提交到远程:git add. 、git commit -m "提交代码"、git push 

      完美解决!!!!

    7、查看修改和还原:

    查看本地某一个文件的修改:git diff fileName

    注:fileName是文件夹名+文件名+后缀名,如:src/ui/home.dart,可以执行git status查看,复制modified:后面的一整串

    还原本地某一个修改文件:git checkout fileName

    还原本地所有修改文件:git reset --hard

    注:git checkout fileName只适用于还没执行过git add命令

    如果已执行过git add还未执行git commit命令,必须先执行撤回git add命令:

    撤回某一个add过的文件:git reset HEAD fileName,

    撤回所有add过的文件:git reset HEAD

    如果已执行过git commit命令提交代码,则执行撤回到上一次commit状态的命令:git revert commit_id

    注:commit_id需先执行git log查看commit记录,就能找到对应的commit_id(commit后面一长串)

    查看当前分支的所有修改日志:git log

    查看远端某个文件最近一次的修改内容:

    git log -p fileName

    git show commit_id

    注:fileName是文件夹名+文件名+后缀名,如:src/ui/home.dart,可以执行git status查看,复制modified:后面的一整串

    查看某个文件最近的提交记录:git log --pretty=oneline fileName

    8、查看分支和修改分支

    查看当前分支:git branch 或者git branch -vv

    查看远端所有分支:git branch -a

    设置新分支名:git branch -m oldname newname

    注:oldname老分支名,newname新分支名

    删除远端被修改的分支:git push --delete origin oldname

    推送新修改的分支:git push origin newname

    注:光删除远程分支是不行的,因为本地分支仍然存在,所以还要执行本地分支删除操作

    如删除名为dev_new的本地分支:git branch -D dev_new

    9、查看远程仓库地址

    查看当前项目所在的git地址:git remote -v

    10、版本回退

    回退到上一个版本:git reset –hard HEAD ^ 

    注:HEAD后面的这个 ^ 是指回退到上一个版本,如果要回退到上上个版本则在HEAD后面加^^,回退版本多的话也可以直接指定,如:

    回退到第10个版本:git reset –hard HEAD~10

  • 相关阅读:
    ZOJ3329One Person Game(循环型 数学期望)
    ZOJ3551Bloodsucker (数学期望)
    HDU3853LOOPS (师傅逃亡系列•三)(基础概率DP)
    HDU4035 Maze(师傅逃亡系列•二)(循环型 经典的数学期望)
    阿里云DataV专业版发布,为可视化创造更多可能!
    Logtail提升采集性能
    达摩院首席数据库科学家李飞飞:云原生新战场,我们如何把握先机?
    什么是最佳的视频用户体验?阿里云视频服务四大体验优化实践
    Lambda plus: 云上大数据解决方案
    基于大数据的舆情分析系统架构
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14307988.html
Copyright © 2020-2023  润新知