Git 的基本使用以及在使用过程中的问题解决方案整理

Author Avatar
dev.liang 4月 11, 2017
  • 在其它设备中阅读本文章

日常使用 Git 时基础命令和遇到很多小问题,在这里简单记录下…

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
创建完 github 后,网站提示操作命令行
echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:leaderliang/test.git
git push -u origin master


git remote add .../.git
git remote remove <name> 多个 远端的时候,想要删除


mkdir “文件夹名字” 创建文件夹
touch a.md 创建文件
git init 初始化 git 仓库
git status 查看你当前 git 仓库的一些状态
git add a.md 去操作你想要提交的文件,可以理解把想要提交的文件添加到提交的列表里
git commit -m “first commit” commit 是提交的意思,- m 代表是提交信息,执行了以上命令代表我们已经正式进行了第一次提交
git log 可以查看所有产生的 commit 记录

git branch 查看下当前分支情况
git branch a 创建 a 分支
git checkout a 切换到分支 a 上面
git checkout -b a 新建一个分支 a,并且自动切换到 a 分支
git merge 合并分支 ,前提是要切换到主干上在执行这个命令
git branch -d a 删除 a 分支
git branch -D 有些时候可能会删除失败,比如如果a分支的代码还没有合并到master,你执行 git branch -d a 是删除不了的,它会智能的提示你a分支还有未合并的代码,但是如果你非要删除,那就执 行 git branch -D a 就可以强制删除a分支
git tag v1.0 给代码创建标签
git checkout v1.0 切换到 v1.0 tag 的代码

rm -rf .git 删除.git
ls -a


与GitHub 代码的相关操作命令

首先需要 SSH 授权默认
Mac 默认是安装有 SSH 的
在终端输入 ssh-keygen -t rsa
指定 rsa 算法生成密钥,接着连续三个回 车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥, id_rsa.pub 就是公钥
在 系统目录 ~/.ssh 下找到 .pub 文件,将内容复制到 Github 上
终端输入 ssh -T git@github.com
进行测试是否授权成功

如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push
git push -u origin master

git push origin master 把本地代码推到远程 master 分支
git pull origin master 把远程最新的代码更新到本地



git 添加多个代码仓库命令

#添加github
git remote add origin https://github.com/xxx(仓库地址)
#添加oschina
git remote add oschina https://git.oschina.net/xxxx(仓库地址)
#提交到oschina
git push oschina master(分支名)
#提交到github
git push origin master(分支名)
#从oschina更新
git pull oschina master
#从github更新
git pull origin master



上传前需要先关联远程仓库地址:
git remote add origin git@github.com:leaderliang/leaderliangtest.git
origin 名字可以随便取

kiipu:
git remote add kiipu git@git.coding.net:mycreat/kiipu-android.git kiipu 目前的关联方式
git push -u kiipu master

#查看我们当前项目有哪些远程仓库名称或者列表
git remote -v

#设置自己的用户名和邮箱(也包括 个人和企业搭建的 Git 服务器名字配置)

#查看当前 git 下配置属性
git config --list
git config --global user.name "liang"
git config --global user.email "liang@100tal.com"

—-gloabl 是配置系统全局的,去掉 —-gloabl 就可以配置我们当前 git 目录下

Git 报错相关

Git push 出现 “fatal: The remote end hung up unexpectedly” 解决方案

在使用 git push 项目出现 “fatal: The remote end hung up unexpectedly “ 原因是 push 的文件过大

解决方案:
在克隆/创建版本库生成的 .git 目录下面修改生成的 config 文件,执行如下命令:

1
2
3
git config --global http.postBuffer 524288000
或仅设置当前目录下
git config http.postBuffer 524288000

大小自己自定义,目前为 500M,最大支持可以自己尝试下。

image