Git使用教程

发布时间:Dec. 19, 2022, 10:36 a.m.编辑:李佳生阅读(544)

多git环境搭建

// 以github和gitee为例, 单git环境只执行其中一个分支(比如gitee)步骤即可
1、查看之前是否配置了global账号,新安装的git忽略
    git config --global  user.name
    git config --global  user.email
    git config --global --unset user.name "你的名字"
    git config --global --unset user.email "你的邮箱"

2、生成ssh密钥,中间步骤疯狂回车就好
    ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "xxx@qq.com"
    ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "yyy@qq.com" // 文件名与上面不同

3、输入上面指令后会生成四个文件
    id_rsa.github
    id_rsa.github.pub  // 复制内容到github
    id_rsa.gitee
    id_rsa.gitee.pub  // 复制内容到gitee

4、默认只读取 id_rsa,为了让ssh识别新私钥,需要将新私钥加入到ssh agent
    ssh-agent bash
    ssh-add ~/.ssh/id_rsa.github
    ssh-add ~/.ssh/id_rsa.gitee

5、创建ssh配置文件
    touch ~/.ssh/config 

6、加入以下内容到配置文件
    # github
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa.github
    
    # gitee
    Host gitee.com
        Port 22
        HostName gitee.com
        User git
        IdentityFile ~/.ssh/id_rsa.gitee

7、测试
ssh -T git@gitee.com
ssh -T git@github.com


常用指令:

/ 拉取代码
git clone git@code.byted.org:xxx/xxx.git xxx // 拉取代码到xxx文件夹
git submodule update --init --recursive // 更新全部子模块代码

git clone -b xxx git@code.byted.org:xxx/xxx.git yushuai
// 分支相关
git checkout -b xxx // 创建xxx新分支 = git branch xxx、git checkout xxx
git checkout -b 本地分支名称 origin/远程分支名称
 
git push --set-upstream origin xxx

git branch -d xxx // 删除xxx分支

git switch xxx // 切换到xxx分支 = git checkout xxx

git merge xxx // 合并xxx分支到当前分支

git push origin xxx:xxx // 推送本地xxx分支到远程

git push origin --delete xxx // 删除远程xxx分支

git branch -a // 查看所有分支
git branch -r // 查看远程所有分支

git rebase origin/main
git merge origin/master --squash

git push --set-upstream origin master

// Cherry-pick

git cherry-pick --abort

// 合并多个commit
git rebase -i HEAD~3

// 查看提交详情
git log 

// 重置
git fetch --all
git reset --hard origin/main
git pull

// 本地分支合并到远程分支步骤
git checkout auto_test   //切换分支到auto_test
git merge local_auto_test    //merge之前local_auto_test内容到本地auto_test分支
git push origin auto_test    //将本地auto_test分支推送到远程服务器。

// 个人代码量
git log --author="lijiasheng.717" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -


可视化操作工具个人推荐:

Mac: Sourcetree

Windows: TortoiseGit

关键字Coding 教程

上一篇:

下一篇: