git 笔记记录

下面是本人在工作中学习到且使用到的git的用法,现在记录下来。

git命令记录,并不解析。


目录

[一、git 上传流程](#一、git 上传流程)

[二、git 上传流程2](#二、git 上传流程2)

三、其他重点记录

[四、git 标签](#四、git 标签)

[五、git 常用命令](#五、git 常用命令)

①常用命令

②分支

③其他

六、本地代码初始化生成本地仓库后关联远端仓库并推送


一、git 上传流程

1.克隆项目

bash 复制代码
git clone git@192.168.0.0:xxx/robot/20/robot20.git

cd 进入文件夹

2.创建本地分支,并切换到该分支,并关联远程仓库分支

git checkout -b 本地分支 远程仓库分支

例如:创建本地develop分支,并关联远程仓库develop分支

bash 复制代码
git checkout -b develop origin/develop

之后可以使用 git branch -a 查看分支

**注意:**一般我们都会创建一个develop分支,并在此分支进行修改代码,然后再push上传到git中;我们都约定不会在master分支上进行修改代码和push等操作!(当然,也可以再创建一个分支关联远程仓库的develop分支,并在此分支修改代码,修改完毕后,合并到本地的develop分支,最后再切换到本地的develop分支进行push上传到git中。)

3.将修改的文件添加到本地仓库

可使用 git status 查看哪些文件被修改了

bash 复制代码
git add 文件名
git commit -m "注释"

4.同步项目代码

bash 复制代码
git pull

5.提交到远程仓库

bash 复制代码
git push

附:

分支概念理解

每个git仓库都会有一个主分支master,一般规定都不会在这个主分支中进行修改项目代码;所以我们得新建分支,在新建的分支上进行修改代码,因为新建的分支都是master的子分支,所以他们的资源是共享的。在新建分支上所做的修改操作都不会影响主分支。子分支修改完毕并commit到仓库后,即可切换到主分支,使用git pull同步。

关联概念理解

关联即将本地的分支与远程仓库的分支进行关联。公司的项目都需要将本地的分支和远程仓库的分支进行关联;关联后,就可以很方便的使用git pull同步代码,和使用git push上传代码了。

二、git 上传流程2

场景: 现有三个分支,master - develop - dev_tem

master 和 develop 不做修改,develop负责提交,dev_tem负责修改代码;

现有需求,将dev_tem中修改的代码提交到本地仓库后,将deve_tem合并到develop,再同步远程仓库,再提交远程仓库。

流程:

  1. 在dev_tem分支将所修改的代码commit提交到本地仓库

    bash 复制代码
    git add 文件名
    git commit -m "注释"
  2. 暂存当前的修改(如有需要)

    bash 复制代码
    git stash save '备注' 
  3. 切换至develop分支

    bash 复制代码
    git checkout develop
  4. 将dev_tem分支合并到develop分支

    bash 复制代码
    git merge dev_tem
  5. 同步远程仓库代码到develop

    bash 复制代码
    git pull
  6. 将本地仓库提交的修改上传至远程仓库

    bash 复制代码
    git push
  7. 切换dev_tem分支

    bash 复制代码
    git checkout dev_tem
  8. 恢复之前的修改(如有需要)

    bash 复制代码
    git stash pop
  9. 将develop分支合并到当前分支

    bash 复制代码
    git merge develop

    这样做了之后,master - develop - dev_tem 三个分支都是在同一起跑线;

    三个分支的代码都是同步了的!(这里可以把master忽略掉)

三、其他重点记录

  1. 关联远端仓库

    bash 复制代码
    git branch --set-upstream-to=origin/远端分支 本地分支
  2. push代码时没反应,可以使用如下命令

    bash 复制代码
    git push origin 本地分支:远端分支
  3. 忽略文件

    bash 复制代码
    git update-index --assume-unchanged 文件路径
    git reset HEAD 文件路径
    ​
    例:
    git update-index --assume-unchanged ../build/
    git reset HEAD ../build/
  4. 放弃某一文件的修改

    bash 复制代码
    git checkout -- 文件名
    ​
    # 放弃所有文件的修改
    git checkout ..
  5. 删除误commit的文件

    bash 复制代码
    git rm --cached 文件名
    git rm --cached -r 文件夹名
    ​
    git commit --amend --allow-empty
  6. 文件commit后又有修改,将文件添加到commit中,不创建两个commit

    bash 复制代码
    # 会把暂存区的文件自动加入。
    git commit --amend
    # 可以使用-a把工作区的文件也一起加入。
    git commit --amend -a
    ​
    # 会弹出窗口修改comment,当然也可以使用"-m"参数指定comment。
  7. 查看冲突命令

    bash 复制代码
    git mergetool   
    # 中文会乱码;有三个窗口:A区(LOCAL)是本地分支的修改;B区(BASE)是A和C的综合,需要将A和C的修改添加到B区;C区(REMOTE)是远程仓库的修改;
    # 如果A和C都修改到同一行,则复制粘贴顺序添加到B区就好;最后记得保存!!!
  8. 本地开发分支推送远端分支

    bash 复制代码
    git push origin 本地分支名:远端分支名
    # 远端分支名可以随便写,会自动创建,建议与本地分支名一致
  9. 拉取远端仓库某一分支

    bash 复制代码
    git checkout -b 本地分支名 origin/远端分支名
    # 本地分支名推荐与远端分支一样
    # git checkout -b gy5a origin/gy5a
  10. 拉取远端分支最新代码

    bash 复制代码
    git pull origin 本地分支名

四、git 标签

  1. 查看所有标签

    bash 复制代码
    git tag
  2. 查看标签的提交信息

    bash 复制代码
    git show 标签名
  3. 在提交历史中查看标签

    bash 复制代码
    git log --oneline --graph
  4. 创建本地附注标签

    bash 复制代码
    git tag -a 标签名称 提交版本号 -m 附注信息
    案例:
    git tag -a xxx-V1.0-release 2c0c390 -m "xxx项目版本发布,正式版本:V2.27.014.002"
  5. 查看标签的提交信息

    bash 复制代码
    git show 标签名
  6. 删除标签

    bash 复制代码
    git tag -d 标签名称
  7. 检出标签

    bash 复制代码
    # 理解:在此标签对应的提交版本中,新建一个分支;然后就可以在当初的这个版本中继续做开发或者查看代码。
    ​
    git checkout -b 分支名称 标签名称

五、git 常用命令

①常用命令

1.创建本地git仓库

bash 复制代码
git init

2.提交文件到临时存储区

bash 复制代码
git add 文件名  或  git add 文件夹名  或  git add .   // 添加全部

3.将临时存储区中的文件提交到本地仓库中

bash 复制代码
git commit -m "注释"

4.查看提交记录

bash 复制代码
git log    或    git log --pretty=oneline

5.回退版本

  • 回退到上一个版本:git reset --hard HEAD^
  • 回退到上上一个版本:git reset --hard HEAD^^
  • 回退到前100个版本:git reset --hard HEAD~100

6.回退后又后悔了

bash 复制代码
回退到指定的版本:`git reset --hard  "id"`   (id 写前几位即可,git log 可以查看对应的id)

7.查看历史命令

bash 复制代码
git reflog   (也可以查看id)

8.查看当前工作状态

bash 复制代码
git status

9.查看工作区和版本库里面最新版本的区别:

bash 复制代码
git diff HEAD -- 文件名

10.让修改的文件撤销回到最近一次git commitgit add时的状态

bash 复制代码
git checkout -- 文件名 

(如果本地文件被删除了,也可以使用这条命令恢复库中的文件)

11.把暂存区的修改撤销掉,重新放回工作区

bash 复制代码
git reset HEAD 文件名

12.本地文件删除了,删除git本地仓库中的文件

bash 复制代码
rm  -fr 文件名
git  rm   文件名
git  commit  -m  "注释"

②分支

1.创建分支

bash 复制代码
git branch dev

2.创建dev分支,然后切换到dev分支

bash 复制代码
git checkout -b dev

或者

bash 复制代码
git branch dev      // 创建dev分支
git checkout dev    // 切换到dev分支

3.列出所有分支,当前分支前面会标一个*

bash 复制代码
git  branch

4.列出所有分支,包括远程分支

bash 复制代码
git  branch -a

5.合并指定分支到当前分支

bash 复制代码
git merge 分支名

(将分支名指定的分支合并到当前分支)

6.删除分支

bash 复制代码
git branch -d 分支名

7.新版git切换分支switch

创建dev分支,然后切换到dev分支

bash 复制代码
git switch -c dev

8.直接切换到已有的master分支

bash 复制代码
git switch master

③其他

1.查看已经绑定的

bash 复制代码
git remote -v

2.查看本地分支与远程仓库有哪些绑定

bash 复制代码
git branch -vv

3.将本地分支与远程仓库分支关联

git branch --set-upstream-to=远程分支 本地分支

bash 复制代码
git branch --set-upstream-to=origin/develop develop

4.保存当前工作进度

会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动

bash 复制代码
git stash save '备注' 

如果想要恢复,则使用 git pop 恢复原先修改的内容

5.查看当前保存的所有stash列表

bash 复制代码
git stash list

6.将某个stash的变更应用到当前工作目录,不删除保存的stash

bash 复制代码
git stash apply

7.将某个stash的变更应用到当前工作目录,删除保存的stash

bash 复制代码
git stash pop

8.删除某个stash

从stash列表中移除。如果不指定stash,默认会删除最新的stash。

bash 复制代码
git stash drop [stash]
git stash drop stash@{0}

9.删除所有的stash

bash 复制代码
git stash clear

10.恢复某个stash

bash 复制代码
git stash pop stash@{1}

11.创建一个分支,并关联远程仓库分支

bash 复制代码
git checkout -b develop origin/develop

12.清除

当切换其他分支而报错时,有可能是当前分支有些文件被修改了但没有commit上传,可使用如下命令删除掉,使用需谨慎!

bash 复制代码
git clean -d -fx

...后续还遇到新的命令再记录下来。

六、本地代码初始化生成本地仓库后关联远端仓库并推送

  1. 生成密钥

    bash 复制代码
    ssh-keygen

    密钥路径:C:\Users\17634.ssh .pub文件

  2. 将密钥添加到github仓库

  3. 新建本地仓库后代码推送本地仓库

    bash 复制代码
    git init
    git add .
    git commit -m "第一次推送代码"
  4. 关联远端仓库

    bash 复制代码
    git remote add origin 远程仓库URL
  5. 代码推送

    bash 复制代码
    git push -u origin master
    # 可能会报错,没关系,接着下面操作即可
  6. 代码拉取

    bash 复制代码
    git pull origin master
    # 可能会报错,没关系,接着下面操作即可
  7. 使用rebase命令将本地和远程仓库同步

    bash 复制代码
    git pull --rebase origin master
  8. 代码推送

    bash 复制代码
    git push --set-upstream origin master

完!

相关推荐
high20111 小时前
【Git】-- 版本说明
git
kaixin_learn_qt_ing2 小时前
git clone
git
sin22012 小时前
git stash
git
喝鸡汤2 小时前
一起学Git【第二节:创建版本库】
git
慢慢成长的码农2 小时前
git 同步分支操作
git
sin22012 小时前
git推送本地仓库到远程(Gitee)
git·gitee
冷眼看人间恩怨2 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
丁总学Java4 小时前
git branch -r(--remotes )显示你本地仓库知道的所有 远程分支 的列表
git
yylの博客7 小时前
Windows通过git-bash安装zsh
windows·git·bash·zsh
丁总学Java7 小时前
(Z Shell)zsh: no matches found: ? 使用单引号包裹
git·zsh