Git使用

Git工作机制:

工作区->git add->暂存区(不生成版本)->git commit->本地库(生成版本)->git push->远程库(git hub,gitee,gitlab)

本地库的代码版本只有本机看到,一旦push到远程库,则所有访问远程库的人都能看到版本

默认安装后

进入本机的某个文件夹路径下,右键,会有Git GUI here和Git bash here两个菜单项,分别是Git的图形界面和命令行界面,命令行界面使用的是linux命令。

随便进入一个文件夹,右键点git bash here后即进入当前目录。

分支管理:

默认初始化git本地库后,生成主线分支默认名为master,可以在master分支基础上生成多个分支,或者任意分支上再生成分支,方便多线任务并行开发,最后merge代码到master上,合并所有代码。

  代码冲突:两个分支代码冲突(同一个文件两个分支都修改了),同时合并会conflict

  此时在合并分支阶段修改代码,手动解决冲突,然后使用git add 文件名+git commit -m "xxx",commit后不跟文件名。然后可解决冲突,merge成功

概念:

  head指针,一直指向当前所在的分支。当前分支是master,head就代表master,当前是hotfix分支,head就代表hotfix分支。

  链接远程库两种方式,https和ssh

Git命令简介:

  设置签名:

  git config user.name xxx

  git config user.email xxx@xxx

  git config -global user.name xxx

  git config -global user.email  xxx@xxx

    注:不带global参数的是本地库级别的签名,带global参数则是系统级别的签名,两者设置一个即可,如果都设置则就近用本地库级别签名,如果都不设置则不能提交git

  本地库常用命令:

  git --version 查看当前git版本,可以用来验证git安装成功。

  git init 初始化git本地库,会多.git隐藏文件夹

  git status 查看当前本地库状态

  git add filename添加文件到暂存区 此时git开始追踪此文件,但是没有形成历史版本

  git rm -cache filename 从暂存区删除文件

  git commit -m "first commit"  fliename 提交本地库 -m是自定义版本信息

  git reflog 查看log,有版本号 版本信息

  git log 查看详细log,多了提交人 提交日期等。

  git reset -hard versioncode,回到某个版本

  git branch -v 查看分支

  git branch 分支名 :创建分支

  git branch -d [分支名]: 删除分支 如果分支还没合并则会有错误提示

  git branch -D [分支名]:强删除分支,忽略未合并提示

  git checkout 分支名:切换分支

  git merge 分支名:把指定分支合并到当前分支上,所以在运行此命令前,要先把分支切换到目的端分支上。合并分支后会把指定分支改动的内容加到目的端分支上。

  远程托管中心操作相关命令:

  git remote -v 查看远程库别名

  git remote add 远程库别名 远程库http链接: 给远程库创建别名,一旦创建成功,则会产生两个,给fetch和push都取了别名

  本地库与远程库: 

  git push 远程库名 本地库分支名: 推送本地分支到远程库

  git clone 远程库地址: 从远程库克隆岛本地库。 clone做三件事:1,拉取代码,2 初始化本地库,3创建别名origin

  git pull 远程库名 本地库分支名:从远程库拉取改动,更新到本地库 ,git pull = git fetch + git merge, git pull -rebase = git fetch+git rebase

  ssh-keygen -t rss -C 远程库账号邮箱:三次回车后生成远程库ssh key到本地c:\users\本地账号名\.ssh中 pub公钥,另一个是私钥,要把公钥内容添加到远程库.-》ssh中

  远程库与远程库之间:

  fork: 另一个远程库叉代码到自己的远程库,类似复制一份

  pull request:申请把远程库代码拉取到另一个远程库

  merge: 把提交pull request的远程库merge到远程库

xxx.ignore文件:

  扩展名为.ignore的文件中内容可以设置被git忽略的文件,文件内容,直接写*.txt、**/foldername等希望忽略的文件文件名即可。

  创建.ignore后文件放在任意位置均可,需要在.git/config文件中添加:  

    [core]

    excludesfile="c:/xxx.ignore"添加此引用。

与VS code结合后文件名颜色会有区分:

  红色文件代表未被git追踪

  绿色代表添加到暂存区

  灰色代表忽略文件

  黑色代表已经提交本地库

     蓝色代表被追踪过但是被修改了

  

   

posted @ 2021-07-12 13:01  蜗牛果果  阅读(36)  评论(0编辑  收藏  举报