# 常见问题

# 一.上传失败

重新生成 token,提示输入密码的时候,输入生成的 token

# 二.关于 token 问题

生成 token,要记住 token 的名字和 token,因为下次需要使用第一次使用的 token 进行上传才能上传成功

如果不记得了,去 setting-> Developer settings->Personal access tokens->点击对应的 token 名->Regenerate token

# 三.分支问题

# 1. Git 创建分支

(1)查看分支 git branch

(2)创建本地分支 git checkout -b 新分支名

(3)推送本地分支到远程仓库 git push --set-upstream origin 分支名

# 2. Git 修改分支的名称

需要将分支 old 修改为 new,执行如下步骤:

(1)执行命令 git checkout old 切换到 old 分支,如果已经在这个分支下,可以不执行此步骤

(2)执行命令 git pull origin old 将代码更新到和远程仓库一致

(3)执行命令 git branch -m old new 将本地仓库的 old 的名称修改为 new

(4)执行命令 git push --set-upstream origin new 将本地分支 push 到远程仓库

(5)执行命令 git push origin --delete old 将远程分支 old 删除

# 3. git clone时指定分支

(1)git clone 指定分支:git clone -b 分支名称 项目地址,例如

// 假设分支名称为 test,则:
git clone -b test 项目地址
1
2

# 4. 删除分支

// 删除本地分支
git branch -d localBranchName

// 删除远程分支
git push origin --delete remoteBranchName
1
2
3
4
5

# 5. 分支合并

// 删除本地分支
git merge 被合并的分支名
1
2

例子:现在想把 dev1.0 已经增加的功能先合并到 dev1.2 (1)checkout 1.2 和 1.0

git checkout dev1.0
git checkout dev1.2
1
2

(2)在 devv1.2 的分支基础上执行 merge

git merge dev1.0
1

(3)没有报错

git push origin dev1.2
1

(4)报错,基本上就是冲突的错误。这时候就要根据提示的错误,找到对应的文件,查看冲突的内容,然后进行删减。然后再执行提交步骤,例如以下步骤:

git add .
git commit -m "解决2个分支之间的冲突"
git push origin dev1.2
1
2
3

# 四.commit 问题

# 1.重写上一次 commit 信息

git commit --amend

(1)修改最近一次的 commit 信息

步骤

 1. git commit --amend
 2. 进入 vim 操作界面之后, 点击字母键 i 然后进入 INSERT 模式,然后对 commit 信息进行修改,然后 ESC 然后 :wq 保存退出
 3. 然后执行 git log 会发现最近的一次 commit 信息被修改成功了
1
2
3

(2)修改已经提交到 git 远程仓库的 commit 信息

1. 首先回撤到上一次提交,不修改本次提交的改动 git reset --soft HEAD~1

2. 重新做一次提交 git commit -m "重新提交 commit 信息"

3. 强推本地分支到远程仓库 git push -f origin master

4. 查看远程仓库中的是否已经修改 commit 信息
1
2
3
4
5
6
7

执行 git commit --amend 后会自动进入上一次提交信息的编辑状态(关于编辑命令,参考bash),改完后保存退出就好。

# 参考

更多参考《Pro git》电子版 (opens new window)