gitee | 基本配置和使用

0 导语

Git是一款相当牛逼的代码管理工具,牛逼到无以复加,请相信我。

1 注册Gitee账号

既然你都用到git了,相信注册个账号对你来说不是什么难事。
Gitee网址:https://gitee.com

2 简易代码提交流程

2.1 Git 全局设置

git config --global user.name "zhangsan"
git config --global user.email "[email protected]"

2.2 git仓库操作

创建仓库目录并初始化仓库,将会自动在当前目录下创建.git目录和相关文件。

mkdir alphago
cd alphago
git init #在当前目录下初始化git

将代码上传至暂存区(add)并将暂存区内容添加到本地仓库中(commit)。

touch README.md
git add README.md #存入暂存区,一般用“git add .”,一网打尽,简单粗暴有效。
git commit -m "first commit" #为了少敲字符不加引号也可以
#git commit -am “second commit” #跳过git add步骤,直接进行commit
git remote add origin https://gitee.com/zhangsan/alphago.git #关联Gitee远程库,之后即可用git的add、commit和push推送
#注意:origin为远程库名,https://gitee.com/zhangsan/alphago.git为远程库地址
git push -u origin master #master为分支名称
#git push -f origin master #强制推送

2.3 已有仓库?

对于已有仓库的情况

cd existing_git_repo
git add . #将代码上传至暂存区
git remote add origin https://gitee.com/zhangsan/alphago.git
git push -u origin master
git pull #从gitee/github仓库更新源码到本地。
2.3.1 远程仓库操作

改变远程仓库地址的操作。

git remote -v #查看远程仓库
git remote set-url origin https://gitee.com/zhangsan/alphago.git #切换远程仓库地址

有时候我们要根据需要,可以设置多个远程仓库。

git remote -v #查看远程仓库
git remote add origin1 https://gitee.com/zhangsan/alphago.git #添加gitee远程仓库地址
git remote add origin2 https://github.com/zhangsan/alphago.git #添加github远程仓库地址
git remote delete origin #删除远程仓库

多个远程仓库的时候每次都要输入 remote name 和 branch name 比较麻烦,此时我们需要设置将某个远程仓库设置为为默认,就可以直接用git push推送代码。

git config branch.master.remote origin
git config branch.master.merge refs/heads/master
2.3.2 git pull报错

git pull时常常发生报错,解决方案有二[3]:
方法一:stash

git stash
git pull
git stash pop

方法二:直接覆盖本地修改

git reset --hard #不加版本号
git pull

2.5 下载代码

2.5.1 常规下载
git clone https://gitee.com/zhangsan/alphago.git
2.5.2 指定历史提交下载

主要分以下三个步骤:

git clone https://gitee.com/zhangsan/alphago.git #下载项目到本地
cd alphago #进入项目目录
git checkout 75b945e #切换到历史版本的SHA

2.6 特殊配置

2.6.1 配置用户名/密码

编辑.git/config文件,如下:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://***.git  (自己的git源)
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

#追加下面两行配置
[credential]
    helper = store

具体还请诸位大哥移步刘禹锡_c886的博客Linux下git操作项目时保存账号密码 - (jianshu.com)[4]

2.7 版本发布

git tag -a v0.0.5 -m "v0.0.5"
git push origin v0.0.5
git reset --hard [版本号]  #神级命令,回退版本

关于开源许可证的选择参见图1[5]


图2-1. free_software_licenses

2.8 监控命令

git remote -v #列出远程仓库信息
git config -l #查看git的配置
git status #查看暂存区状态(详细)
git status -s #查看暂存区状态(简略)
git diff #查看尚未暂存的文件更新了哪些部分
git diff --cached #看已经暂存起来的文件和上次提交时的快照之间的差异,或git diff --staged(Git 1.6.1+)
git log #查看git的操作日志

3 git分支操作

3.1 创建本地分支[7]

git branch develop #创建本地分支dev
git branch #查看当前分支

3.2 上传和下载分支代码

git checkout develop #切换到dev分支
git push --set-upstream origin develop #设置develop分支
git push #推送分支代码到远程仓库
git clone -b develop https://gitee.com/zhang3/alphago.git #下载zhang3的develop分支到本地

表 3-1 Git 分支命名规范[6]

分支 命名 说明
主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分支上发布
开发分支 develop 开发分支,永远是功能最新最全的分支
功能分支 feature-* 新功能分支,某个功能点正在开发阶段
发布版本 release-* 发布定期要上线的功能
修复分支 bug-* 修复线上代码的 bug

4 常见报错

4.1 unable to read askpass response

报错:使用git clone或的git push等,都有可能产生不明原因导致的如下报错:

Cloning into 'alphago'...

(gnome-ssh-askpass:11418): Gtk-WARNING **: 11:46:33.884: cannot open display: 
error: unable to read askpass response from '/usr/libexec/openssh/gnome-ssh-askpass'
Username for 'https://gitee.com': 

解决办法:关闭掉SSH_ASKPASS。

unset SSH_ASKPASS

参考文献

[1] https://www.cnblogs.com/yanxinjiang/p/8056845.html
[2] https://www.runoob.com/git/git-add.html
[3] https://acuity.blog.csdn.net/article/details/79524363
[4] https://www.jianshu.com/p/50bd45e6d4b5
[5] free_software_licenses.png (1600×1000) (ruanyifeng.com)
[6] https://blog.csdn.net/qq_33858250/article/details/81047883
[7] git创建新分支 - 明明一颗大白菜 - 博客园 (cnblogs.com)

你可能感兴趣的:(gitee | 基本配置和使用)