首页 > 其他分享 >git

git

时间:2023-01-20 16:11:59浏览次数:35  
标签:git name -- rsa ssh branch

git to use.

目录

0.git schematic graph.

flowchart RL; id1[(Remote)]--fetch/clone-->id2[(Repository)] id2--push-->id1 id2--checkout-->id3 id1--pull-->id3 subgraph workspacetion id3(Workspace) id5(coding/edit) end id3--add-->id4[(index/stage)] id4--commit-->id2

1.system to configure.

  • windows---Git Bash.
  • linux---terminal.

00.配置用户名邮箱.

- 查看配置
git config --global --list
- 全局配置
git config --global user.name "user_name"
git config --global user.email  "user_primary_email"
- 全局配置取消
git config --global --unset user.name "user_name"
git config --global --unset user.email "user_primary_email"

01.配置公钥.

  • 系统配置
sudo apt-get install openssh-server
mkdir .ssh
cd .ssh
ssh-keygen -t username_azuregit_rsa
- 生成多个公钥key
ssh-keygen -t rsa -f ~/.ssh/username_rsa.github -C "user_primary_email"
ssh-keygen -t rsa -f ~/.ssh/username_rsa.gitee -C "user_primary_email"
ssh-keygen -t rsa -f ~/.ssh/username_rsa.gitlab -C "user_primary_email"
ssh-keygen -t rsa -f ~/.ssh/username_rsa.gitcode -C "user_primary_email"
- 查看公钥
cat username_azuregit_rsa.pub
cat username_rsa.github.pub
cat username_rsa.gitee.pub
cat username_rsa.gitlab.pub
cat username_rsa.gitcode.pub

# 此处以gitlab为例
copy key into Login--user--settings--ssh keys--add key
cd .ssh
vim config  
# 此处可配置多个ssh key
# 将下面配置添加到config中:
# azure company
Host azuregit
         User azuregitolite
         HostName 221.4.216.35
         Port 36822
         Identityfile ~/.ssh/username_azuregit_rsa
#gitee
Host gitee.com
         User git
         HostName gitee.coms
         Port port_number
         Identityfile ~/.ssh/username_rsa.gitee
# gitlab
Host gitlab.com
         User git
         HostName gitlab.com
         Port port_number
         IdentityFile ~/.ssh/username_rsa.gitlab
# github
Host github.com
         User git
         HostName github.com
         Port port_number
         IdentityFile ~/.ssh/username_rsa.github
# gitcode
Host gitcode.net
         User git
         HostName gitcode.net
         Port port_number
         IdentityFile ~/.ssh/username_rsa.gitcode
# 参数解析
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件.
# HostName : 要登录主机的主机名ip.
# User : 登录名.
# Port : 端口.
# IdentityFile : 指明上面User对应的identityFile路径.
  • 测试连接结果
ssh -T [email protected]
ssh -T [email protected]
ssh -T [email protected]
  • 项目配置
mkdir folder_name
cd folder_name
git clone git clone ssh://[email protected]/kuang-hongliang/khl_project.git
la
vim .git/config
# 添加一下内容
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = ssh://[email protected]/kuanghl/khl_project.git
        url = ssh://[email protected]/kuang-hongliang/khl_project.git
        fetch = +refs/heads/*:refs/remotes/origin/*
        # 此处可以添加多个url,同时通过ssh推送多个仓库,但只有第一个url可以fetch or pull 
[user]
        # 解决push需要输入user.name 和 user.email问题
        name = kuanghl
        email = [email protected]
[credential]
        # 解决远端remote not found问题
        helper = store

2.git command and using process.

00.本地仓库初始化.

将这个目录当成自己本地仓库。

git init

01.clone project or merge code.

# case 0 new
git clone shh_address/http_address

# case 1 new merge old
# case 00 新建临时分支branch_name,进行拉取远端分支base_branch到branch_name, 
比对本地master分支与刚拉取分支的差异,合并拉取分支到本地分支中去,删除branch_name.
git branch branch_name
git fetch origin base_branch : branch_name
git diff branch_name
git merge branch_name
git branch -d branch_name
# case 01 拉取远端base_branch,比对其与本地master分支的差异,将远端分支合并到本地分支中去.
git fetch origin base_branch
git log -p branch_name..origin/base_branch
git merge origin/base_branch
# case 02 直接拉取远端分支base_branch合并到本地分支中去.
git pull origin base_branch
# case 03 暂存本地修改比对远端base_branch
git stash
git pull origin master
git stash pop

02.create or delete branch.

# case0 新建并切换到branch_name分支
git checkout -b branch_name
# case1 基于远端base_branch创建并切换到新分支branch_name
git checkout -b branch_name origin/base_branch
# case2 两步走
git branch branch_name 
git checkout branch_name

# 新建本地分支推送到远端,然后将本地分支与远端分支关联,查看远端分支
# 关联则是以后的push/pull/fetch操作都是对远端分支branch_name进行
git checkout -b branch_name
git push origin branch_name 
git branch --set-upstream-to=origin/branch_name  
git branch -a  

# 删除本地分支
git branch -d branch_name
# 删除远端分支
git push origin --delete branch_name

03.enter workspace.

# 开始编写和修改代码
code .
vim file_name
...and so on

04.code compare and commit.

# 将所有修改代码暂存,提交,推送到远程分支base_branch
git add .
git commit -a -m 'notes'
git push
or git push origin base_branch
or git push origin branch_name : branch_name 

05.recovering disaster accidental code.

# case0查看版本及回退
git log
git reset --hard HEAD^   注:***(^个数代表回退版本个数)
or git reset --hard HEAD~3   注:***(回退到前3个版本)
or git reset --hard HEAD id  注:***(回退到指定id版本) 
# case1撤销文件修改
git restore file_name  注:***(对已git add文件使用无效)
git restore --staged file_name  注:***(从暂存区撤出文件,但保留其更改)

06.check branch information.

# 查看分支来源
git remote -v
# 查看远端分支
git branch -r
git branch -a
# 查看当前分支版本信息
git log
# 查看当前分支状态
git status

3.git for development collaboration.

00.develop coarse drawing.

gitGraph commit commit branch kuanghl1 branch kuanghl2 branch kuanghl3 checkout kuanghl1 commit checkout main commit merge kuanghl1 checkout kuanghl2 commit commit checkout main commit commit checkout kuanghl3 commit commit checkout main merge kuanghl2 merge kuanghl3 commit

标签:git,name,--,rsa,ssh,branch
From: https://www.cnblogs.com/kuanghl/p/17062837.html

相关文章

  • gitlab Merge Requests操作流程
    引用https://juejin.cn/post/6993548883729055780一、配置受保护的分支创建一个分支例如prd将prd分支也设置为protect分支配置保护分支二、提交者MergeRequests......
  • 码云、GitHub、SourceForge 开源精品优秀项目精选 第二期
    码云、GitHub、SourceForge开源精品优秀项目精选 第二期2019-05-0800:01:07 本文来源:高老四博客 分类:软件源码 阅读(728) 评论(0)GitHub优秀项目分享第二期继续......
  • Mkdocs部署静态网页至GitHub pages配置说明(mkdocs.yml)
    官方文件:Changingthecolors-MaterialforMkDocs建议详细学习一下上面的官方网站↑↑↑我把我目前的配置文件mkdocs.yml代码写在下面......
  • Git
    Git一、Git基础1、Git介绍Git是目前世界上最先进的分布式版本控制系统。 版本控制系统:设计师在设计的时候做了很多版本     经过了数天去问设计师每个......
  • git相关
    从git仓库拉代码到本地安装gitbash cd要保存项目的目录  gitclone远程仓库地址  ......
  • git stash pop 冲突,git stash list 中的记录不会自动删除的解决方法
    在使用gitstash代码时,经常会碰到有冲突的情况,一旦出现冲突的话,系统会认为你的stash没有结束。导致的结果是gitstashlist中的列表依然存在,实际上代码已经pop出来了。处......
  • Git使用SSH公钥
    生成SSH公钥你可以按如下命令来生成sshkey:ssh-keygen-trsa-C"itldg"其中的itldg为sshkey的名称Generatingpublic/privatersakeypair.Enterfilei......
  • git 关联 github、gitee 仓库
    github官网创建仓库,取得仓库地址,我的这个是  https://github.com/xue-y/pay.git  gitee官网点击创建仓库,右上角 新建导入,进入导入页面 选择语言,点击导入按钮......
  • git_test
    项目的开发是一个不断迭代的过程,开发过程中程序员需要不断的对代码进行编写和更正。这就带来很多的问题。首先,开发中代码会存在多个版本,我们如何将代码在多个版本间进行切......
  • Hugo + Github 静态托管自己博客
    详情hugo:官网地址Go-lang:官网地址Git:官网地址辅助工具->GithubProxy:官网地址......