0 导语
Git是一款相当牛逼的代码管理工具,牛逼到无以复加,请相信我。
1 注册Gitee账号
既然你都用到git了,相信注册个账号对你来说不是什么难事。
Gitee网址:https://gitee.com
2 简易代码提交流程
2.1 Git 全局设置
git config --global user.name "zhangsan"
git config --global user.email "zhang3@qq.com"
2.2 创建 git 仓库
mkdir alphago
cd alphago
git init
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推送了
git push -u origin master
#git push -f origin master #强制推送
2.3 已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/zhangsan/alphago.git
git push -u origin master
git pull #从gitee/github仓库更新源码到本地。
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.45 -m "v0.45"
git push origin v0.45
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)
网友评论