git常用命令和github使用指南

最近由于疫情,很多社区和学校都实行了封闭管理,学生只能待在宿舍内。由于办公室使用的是台式机,无法搬到宿舍,耽误了很多学习时间,所以决定详细学习一下git和github的用法,通过github管理代码,实现在不同电脑设备上代码能够共享和实时更新。

先推荐几篇讲的比较好的文章:

1.Github简明指南:http://rogerdudler.github.io/git-guide/index.zh.html
2.如何高效利用Github:http://www.yangzhiping.com/tech/github.html
3.Github菜鸟教程:https://www.runoob.com/w3cnote/git-guide.html
4.Git配置ssh到Github的密钥:https://www.cnblogs.com/wenhainan/p/6088045.html

git的原理

git维护的三棵“树”:工作目录暂存区HEAD
git1
当你创建库时,master是默认的分支,还可以创建其它分支,完成之后再将它们合并到主分支上。
git2

常用的git命令汇总

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
### 全局变量设置
git config --global user.name "xxx" ###设置Git的用户名
git config --global user.email "[email protected]" ###设置Git的邮箱
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080 ###设置Git的ssh代理通道为https协议,以及设置代理端口
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080' ###设置Git的ssh代理通道为socks5协议,以及设置代理端口
git config -l --global ###显示全局变量的详细信息

### 创建仓库
git clone xxx ###克隆仓库,可以是本地的,也可以是云端服务器上的
git init ###本地初始化创建新的仓库

### 添加和提交改动
git add <filename> / git add * ###将修改过的文件提交到暂缓区
git commit -m "提交更改代码注释信息" ###将修改提交到HEAD,但是还没有提交到云端服务器上

### 将改动推送到云端服务器上
git push origin master ###可以把master换成任何想要推送的分支
git remote add origin <server> ###将本地修改推送到远程服务器
git remote -v ###查看仓库的云端服务器地址
git push origin master --force ###强制把master推送到云端服务器上

### 分支
git checkout -b new_branch ###创建一个叫做"new_branch"的分支,并切换过去
git checkout master ###切换回master分支
git branch -d new_branch ###删除掉new_branch分支
git push origin new_branch ###将new_branch分支的更改提交到云端服务器上

### 仓库的更新和合并
git pull origin master ###更新本地仓库master分支至最新的云端服务器上的改动版本
git merge <branch> ###合并其它分支到当前的分支中,即将其它分支的改动添加到当前分支中,有可能会出现冲突

### 标签和日志
git tag xxx 1b2e1d63ff ###给提交id为1b2e1d63ff的命令添加xxx的标签
git log ###显示本地仓库的历史纪录
git log --author=bob ###查看bob的提交记录
git log --graph --oneline --decorate --all ###通过树形结构来展示所有的分支,每个分支都标示了名字和标签
git fetch origin ###丢弃本地的所有改动与提交,到云端服务器上获取最新的版本历史,并将本地猪分支指向它

温馨提示

由于某些原因,国内网络下很有可能通过push在github上提交不了更改,推荐一个好用的国内的类似github的网站,码云:https://gitee.com/