代码改变世界

GIT概要

2019-05-09 13:34  huoit  阅读(192)  评论(0)    收藏  举报

 git是一个分布式的版本控制系统,相比SVN/TFS是集中式的版本控制。git相当于在每台机器上保存了完整的元数据,可以离线使用。而集中式的保存了服务端某版本的文件,而且无法离线操做

git 分本地分支和远程分支,正常操作流程

先创建库,目前服务端有很多如gitlab,gogs…等,web操作即可,配置权限等等

客户端:

1.先git clone https://xxx/xx.git

2.然后根据情况git branch 创建各种分支

3.编辑文件代码git add .+git commit 添加提交到缓存区

4.然后git push到远程库

一 本地分支
克隆 http://用户名:密码@库地址
$git clone http://username:password@remote
创建本地分支,然后切换到dev分支 $ git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: $ git branch dev $ git checkout dev
然后,用git branch命令查看当前分支: $ git branch * dev master
添加文件 "Readme.txt", 提交到本地dev分支 $ git add Readme.txt $ git commit -m "branch dev test"

dev分支的工作完成,切换回master分支: $ git checkout master
把dev分支的工作内容合并到master分支上: $ git merge dev git merge命令用于合并指定分支到当前分支。合并后,再查看Readme.txt的内容,和dev分支的最新提交是完全一致的。 Fast-forward信息代表:“快进模式”,直接把master指向dev的当前提交,合并速度快。 并非每次代码合并都能实现Fast-forward。 合并完成后,删除dev分支: $ git branch -d dev
删除后,查看branch,就只有master分支了: $ git branch * master 创建、合并和删除分支非常快,鼓励你使用分支来完成某个短期任务,合并后再删掉,比起直接在master上工作过程更安全。 二 远程分支 删除远程分支 git push origin --delete Chapater6
查看远程分支 git branch -r
或
git remote -v
拉取远程分支并创建本地分支 git checkout -b 本地分支名x origin/远程分支名x 比如:git checkout -b dev origin/master就从远程的master创建了一个本地的dev分支
切换到dev分支 git checkout dev
直接push这时如果远程服务端没有dev分支,则会创建dev分支关联本地dev;另外push origin:dev 空分支则会删除分支 git push origin dev

#加参数-u 则在dev分支后面可以直接git push就会根据跟踪关系自动推送
git push -u origin dev

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

查看所有分支 git branch -a 注:remote/origin/[name]表示的是远程分支 清除本地更改 // 清楚所有更改 git checkout . && git clean -xdf // 清除某一个文件的更改 git checkout -- file

 

#本地库合并线上

#先克隆线上
git clone http://gitlab.prod.com/scm.git

# 创建一个别名为local 远程地址为url参数的 版本库,注意不是分支,如果有多个版本库,那就有多少个版本库就创建多少次,
#git remote 别名 http://xx.com/xx.git

#新增本地库,注意本地库、线上库要初始化好分支
git remote add local  https://local.com/projectname
#下载本地源上的分支
git fetch local

#从本地master创建一个本地分支
git checkout -b local2prod  local/master
#切回线上分支
git checkout master #合并local2prod到线上master git merge local2prod
--allow-unrelated-histories
git add .
git commit -m "合并"

git push

 

https://www.cnblogs.com/lfzm/p/10681412.html

 

 

准备:安装GIT、安装VSCode、GitHub上添加

 

1、初始化

新建本地文件xmai

# 全局配置加上命令--global ,如果只想在本文件夹则去掉此参数即可;

> git init 
> git config --global user.name "xxx"
> git config --global user.email xxx@xx.com

也可以手动直接修改->xmai->.git->config文件里的内容

[user]
    name = xxx
    email = xx@xx.com

 

添加github项目地址

>git remote add origin https://github.com/xxx.git

初始化并首次合并

>git branch --set-upstream-to=origin/master master

>git pull --rebase origin master

 

切换分支、创建分支

git checkout testing
git branch dev

 

-

github私有仓库SSH秘钥

生成秘钥,一直回车就可以,linux直接执行命令,windows11+,powershell也可以直接命令,生成目录默认到 : 用户/.ssh

ssh-keygen -t rsa -C  xxx@.com

打开生成的id_rsa.pub

打开github->setting->ssh,添加-Auth

拉取或提交代码,首次git命令行提示输入:yes

 

2.如果还有别的GIT也要用,而且你想生成不同的秘钥,windows环境下powershell

ssh-keygen -t rsa -C xxx@onlyedu.com -b 2048 -f $env:USERPROFILE/.ssh/azure_id_rsa

 在上述用户/.ssh添加config文件

# 注释以 # 开头,用于对配置进行说明

# Host 指定主机的别名或特定配置的名称,这个名称可以在 SSH 连接时使用
Host azure-git

  # HostName 指定远程主机的域名或 IP 地址
  HostName <Git_Hostname>

  # User 指定连接远程主机所用的用户名
  User xxx

  # IdentityFile 指定要用于此主机的私钥文件的路径
  IdentityFile "$env:USERPROFILE\.ssh\azure_id_rsa"

 

示例:

# 第一个主机配置
Host github
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_github

# 第二个主机配置
Host azure-git
  HostName <Azure_Git_Hostname>
  User git
  IdentityFile ~/.ssh/azure_id_rsa

 测试下,successfully字样

ssh -T git@192.168.1.203
ssh -T git@github.com