git实操常用命令汇总-小马哥

github在备案地执行git commit 后需要运行以下代码:

1、创建README.md

2、git add README.md

3、git commit -m '第一次提交'

4、git remote add origin https://github.com/mzq412304/caiAPP.git   指本地仓库和远程仓库建立连接

5、git push -u origin master

码云提交代码步骤:

git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并。

1、初始化 git init

2、 git remote add origin  https://gitee.com/mzq412304/cae_app.git

3、拉取线上代码: git pull origin master

git pull <远程主机名> <远程分支名>:<本地分支名>

例如执行下面语句:

git pull origin master:brantest

将远程主机origin的master分支拉取过来,与本地的brantest分支合并。

后面的冒号可以省略:

git pull origin master

表示将远程origin主机的master分支拉取过来和本地的当前分支进行合并。

上面的pull操作用fetch表示为:

git fetch origin master:brantest

git merge brantest

相比起来git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。

4、提交代码

git add. 提交所有代码

5、git commit -m '说明'

6、第一次提交,:git push -u origin master  第二次提交就按照上面的写法即可

不在需要加  -u: git push origin master

说明:

git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿

$ git push <远程主机名> <本地分支名>:<远程分支名>

注意:这里的冒号:前后是必须没有空格的。

注意:

分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

$ git push origin master  上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。

如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

$ git push origin :master  #等同于  $ git push origin --delete master

上面命令表示删除origin主机的master分支

如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。

$ git push origin

上面命令表示,将当前分支推送到origin主机的对应分支。

如果当前分支只有一个追踪分支,那么主机名都可以省略。

$ git push

如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push

$ git push -u origin master

上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

二、常用命令

1、初始化:git init  创建一个git仓库,创建之后就会在当前目录生成一个.git的文件

2、添加文件:git add filename  把文件添加到缓冲区

3、添加所有文件到缓冲区  git add .或者 git add --all(从目前掌握的水平看,和后面加“.”的区别在于,加all可以添加被手动删除的文件,而加“.”不行):

4、删除文件  git rm filename

提交:提交缓冲区的所有修改到仓库(注意:如果修改了文件但是没有add到缓冲区,也是不会被提交的)

5、git commit -m "提交的说明"

6、commit可以一次提交缓冲区的所有文件

查看git库的状态,未提交的文件,分为两种,add过已经在缓冲区的,未add过的

7、查看状态 git status

8、查看日志 git log

9、版本回退:git reset  可以将当前仓库回退到历史的某个版本

10、git reset --hard HEAD^  第一种用法:回退到上一个版本(HEAD代表当前版本,有一个^代表上一个版本,以此类推)

git reset --hard d7b5   第二种用法:回退到指定版本(其中d7b5是想回退的指定版本号的前几位)

11、查看命令历史:git reflog  查看仓库的操作历史

12、查看提交版本 git log

1) git config --global user.name  'mzq304'  // 查看git用户名

2) git config --global user.email '8278@qq.com'  // 查看git邮箱

3) git log --oneline    // 查看所有提交的版本号

13、git reflog     //  查看每次操作对应的commitId账号

git reset --hard commitId       // 本地端口回滚指定的版本

git push -f    // 强制推送到远程分支

14、回滚版本

1) git reset --hard HEAD^,回滚到上个版本

2) git reset --hard HEAD^~2,回滚到前两个版本

3) git reset --hard xxx(版本号或版本号前几位),回滚到指定版本号,如果是版本号前几位,git会自动寻找匹配的版本号

4) git reset --hard xxx(版本号或版本号前几位) filename,回滚某个文件到指定版本号(需要进入该文件所在目录)

5) git reset --hard 希哈值

三、git分支管理

1、查看分支的情况,git branch  前面带*号的就是当前分支

2、创建分支  git branch 分支名

3、切换当前分支到指定分支: git checkout 分支名

4、创建分支并切换到创建的分支 git checkout  -b 分支名

5、合并某分支的内容到当前分支  git merge 分支名

6、删除分支  git branch -d 分支名

注意:

如果两个分支同时进行了同一个文件的修改和提交,在merge时就会产生冲突,首先要手动打开文件解决冲突,再提交,就相当于进行了merge

两个分支分别进行了commit,最新的一次提交将两个分支内容进行了合并

7、查看分支合并图   git log --graph

8、新建标签 git tag 标签名 版本号 默认为最新版本,后面加上版本号参数则可指定版本增加标签

9、查看所有标签  git tag

10、查看标签的详细信息  git show 标签名

11、将tag提交到远端仓库 推送所有tag: git push origin --tags

12、推送某个tag:git push origin v1.0

13、将本地仓库内容推送到远端仓库 git push -u origin master  (-u 表示第一次推送master分支的所有内容,后面再推送就不需要-u了),

跟commit的区别在于一个是提交到本地仓库,一个是提交到远程仓库

14、从远端库更新内容到本地(相当于svn的update) git pull

注意:tips:如果push的时候,本地和文件和远端文件有冲突,就要先pull、然后手动解决冲突,才能继续push

15、git记住用户名密码

push的时候默认每次都需输入GitHub的用户名和密码,在git仓库根目录下.git文件夹的config文件末尾增加如下内容,

即可记住用户名密码,无需每次推送都输入了  [credential]   helper = store

注意:

提交到git时,忽略部分IDE产生的文件,在根目录下创建.gitignore文件, 注意:新加.gitignore只能忽略那些原来没有被提交过的文件,如果某些文件已经被纳入了版本管理中,

则修改.gitignore是无效的。解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .

git add .

git commit -m 'update .gitignore'

四、

1、git clone 之后才想要提交代码怎么办?

主要的问题来自于git remote的地址问题,那么我们要做的首先应该是将本地与当前远程remote切断联系。然后需要添加一个新的远程仓库,这个新的仓库从何而来呢?就需要我们对原仓库进行fork了,之后就是使用刚刚文章中提到的添加远程的方法。

第一步: 与当前远程remote切断。 git remote remove origin  取消本地目录下关联的远程库

第二步: 对原仓库进行fork,添加远程  git remote add origin git@github.com:mzq412304/shequn.git   https://gitee.com/mzq304/shequn.git

第三步: git push origin master

后面按照之前的方法上传提交代码即可。

说明:

在clone代码库到本地的时候,采用SSH加密的方式的话,在git push的时候是无须输入远程仓库的github账户密码的,SSH的写法就像下面这样:

git@github.com:git_username/repository_name.git 到了git push的时候,自然还是需要我们老老实实输入账号密码的

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

如: 使用Git下载v.2.8.1分支代码,使用命令:git clone -b v2.8.1 https://git.oschina.net/oschina/android-app.git

解释命令:-b表示要从分支下载,v2.8.1就是具体的某个分支的名称,https://git.oschina.net/oschina/android-app.git这是app源码的git仓库地址

报错集:

1、The file will have its original line endings in your working directory

原因:是在windows下生成的所以换行和 linux 确实不同可能是因为这个导致的

解决方法:git config --global core.autocrlf false

2、 refusing to merge unrelated histories

原因:最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。

解决方法:

3、Your local changes to the following files would be overwritten by merge

原因:

解决方法:

1) 服务器代码合并本地代码

$ git stash     //暂存当前正在进行的工作。

$ git pull   origin master //拉取服务器的代码

$ git stash pop //合并暂存的代码

2) 服务器代码覆盖本地代码

$ git reset --hard  //回滚到上一个版本

$ git pull origin master

4、 RPC failed; HTTP 413 curl 22 The requested URL returned error

解决方法:git config http.postBuffer 524288000

(0)

相关推荐

  • Gitlab项目迁移

    开发的时候通常会有个基础版的项目代码,新开项目时可以以基础版进行开发. 然而在gitlab上不能直接以基础版的仓库来新建项目,所以需要我们通过命令行方式进行操作.   1.下载原有gitlab源码 g ...

  • git命令行:删除分支和重命名分支

    摘要 在开发过程中经常需要建立新的分支来修复或者添加新功能,完成额外的工作后需要删除多余的不需要的分支.由于总是忘记删除分支的命令行,所以记录下删除的命令行,以便下次方便查询到.人总是要追求完美的,有 ...

  • git强制提交本地分支覆盖远程分支

    git push origin 分支名 –force eg: cd 代码目录 git push origin master –force 运行结果: Total 0 (delta 0), reused ...

  • git使用教程6-pycharm新建git分支并推送远程仓库

    前言 当我们写的项目代码越来越多时,一个master分支无法满足需求了,这个时候就需要创建分支来管理代码. 创建分支可以快速的回滚到某个节点的版本,也可以多个开发者同时开发一个项目,当自己的功能完成后 ...

  • 【Git基本命令】

    [基本指令] git init :使目标文件夹变成一个仓库 git add <文件名,含后缀> : 告诉git我要添加文件了 git commit -m "<提交说明> ...

  • ffmpeg 常用命令汇总

    part 1: 经常用到ffmpeg 做一些视频数据的处理转换等,用来做测试,今天总结了一下,参考了网上部分朋友的经验,一起在这里汇总了一下,有需要的朋友可以收藏测试一下,有问题欢迎在下面回帖交流,谢 ...

  • Linux运维常用命令汇总

    转自:https://blog.csdn.net/zhongqi2513/article/details/78692300 线上查询及帮助命令 (2 个) man查看命令帮助,命令的词典,更复杂的还有 ...

  • Windows系统CMD命令提示符的常用命令汇总

    一.概述 二. 系统管理 2.1.systeminfo查询命令 systeminfo命令可查看系统主机名.OS版本信息.BIOS版本信息.系统时区.修补程序和网卡等信息. 2.2.系统重启.关机.休眠 ...

  • 市场监管领域法律法规实操性条款汇总系列之二(上) :

    "不予处罚.免罚.从轻减轻.从重情形" 管理常用法律法规规章汇总(上)  陈晋平 市场监管部门在实施行政处罚时,应当根据法律.法规.规章的规定,综合考虑违法行为的事实.性质.情节. ...

  • 市场监管领域法律法规实操性条款汇总系列之三

    "擅自动用.调换.转移.损毁被查封. 扣押财物及转移.销毁证据.不配合检查" 常用法律.法规.规章汇总 陈晋平 在市场监管领域中,当事人拒绝配合检查的情况时有发生,并且转移.调换. ...

  • Oops!Mac终端常用命令汇总

       写在前面  无论是在黑客电影中或者是程序员的电脑屏幕上,经常会因为在终端输入很多的命令,而让我们这些门外汉不明觉厉.加之我最近经常看到与终端命令有关的Mac小技巧,发现使用终端命令可以实现很多M ...

  • 高手常用的6个word实操小技巧,帮你快速提高工作效率

    神奇的标尺不显示 word中的标尺看似平淡无奇,但它却有很多隐藏功能,通常我们都没有使用起来,例如,各种缩进.制表位.对齐文本等等. 可有时候标尺会好端端的不见了,怎么调出来呢? [解决方法] 点击[ ...

  • 肝、心、脾、肺、肾五脏养生修炼方法汇总(附:具体实操方法)

    人体内心.肝.脾.肺.肾五个脏器的合称.脏,古称藏.五脏的主要生理功能是生化和储藏精.气.血.津液和神,故又名五神脏.由于精.气.神是人体生命活动的根本,所以五脏在人体生命中起着重要作用. 一.肝 & ...

  • Linux 中最常用 150 个命令汇总

    人工智能算法与Python大数据 致力于提供深度学习.机器学习.人工智能干货文章,为AI人员提供学习路线以及前沿资讯 23篇原创内容 公众号 点上方人工智能算法与Python大数据获取更多干货 在右上 ...