1. 使用git向远程仓库提交代码
添加完SSH key成功之后,我们就有权限向GitHub上我们自己的项目提交代码了,接下来介绍一下提交代码的两种方法:
方法一:clone远程仓库
- 在GitHub上创建一个项目如:AndroidGuide 并添加README.md文件。
- 终端cd到某文件夹下,执行一下命令:
git clone git@github.com:MrRobotter/AndroidGuide.git
- 这样就把AndroidGuide项目
clone
到了本地,我们可以把clone
命令理解为高级点的复制,这个时候该项目本身就是一个git仓库了,
不需要再执行git init
进行初始,而且甚至已经关联好了远程仓库,我们只需要在AndroidGuide目录下任意修改或者添加文件,然后进行
commit
之后可以执行:
git push origin master
进行代码提交。
方法二:关联本地已有项目
如果我们在本地完成了一个完整的项目test1 这样方法一就不适合了。
- 在GitHub上建一个test项目,
- 在终端上cd到项目所在文件夹 接下来执行以下命令:
git init //初始化版本库
git add .//添加文件到版本库(只是添加到了缓存区), `.` 代表添加文件夹下所有文件
git commit -m "提交说明" //把添加的文件提交到版本库,并填写提交备注。
- 到这一步我们完成了代码库的初始化,但代码仅仅是本地,没有提交到服务器,如果要提交到远程的test则进行一下步骤:
git remote add origin git@github.com:MrRobotter/test.git //把本地仓库与远程仓库关联
git push -u origin master //第一次推送时
git push origin master //之后提交
注意
在GitHub上创建test一般会选择创建README.md文件,这时候直接使用git push -u origin master会出现以下提示:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:MrRobotter/AndroidGuide.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
什么意思呢?是说你远程仓库中有文件没有下载下来。那明白了于是执行命令:
git pull origin master
这时候又出差了:
fatal: refusing to merge unrelated histories
WTF 怎么回事?查了资料才知道git在2.9.2版本里 认为他们是两个不同的项目,要把两个不同的项目合并需要使用命令:
git pull origin master --allow-unrelated-histories
这样就可以pull成功了。
接下来,依次执行
git add ** //你刚刚拉下来的新文件
git commit -m "合并"
git push -u origin master //第一次推送时
git push origin master //之后提交
这样就解决了。
2. git命令删除远程分支
先查看 远程分支
git branch -r
使用以下命令删除远程分支:
git branch -r -d origin/branch-name
git push origin :branch-name
3. git命令删除本地分支
git branch -d develop(replace your branch-name)
Android Studio 中.gitignore配置
-
问题描述
在使用Git进行代码管理过程中,我们会发现后来添加的.gitignore文件,或者中途修改了.gitignore文件后,.gitignore文件并没有生效,需要清除.track缓存和强制.track来解决问题。如果我们在第一次提交的时候,忘记添加.gitignore文件或者在首次添加了.gitignore文件之后,又对文件进行了修改,你会发现这两种情况下,.gitignore文件是不生效的。
原因
git 没有清理cache重点内容
- 解决方案
git rm -r --cached .
git add .
git commit -m "commit message"
git通过命令更换远程仓库地址
具体场景是这样的我们的项目存储在码云的远程服务器上,我们通过git对项目进行操作和同时开发。突然有一天我们老大通知我们git的远程仓库地址需要变换一下!
- 方法一 : 通过命令直接修改远程仓库地址
git remote 查看所有远程仓库
git remote xxx 查看指定远程仓库地址
git remote set-url origin 你新的远程仓库地址
- 方法二:先删除再添加你的远程仓库
git remote rm origin
git remote add origin 你的新远程仓库地址
- 直接修改你本地的.git文件
这里需要注意的问题是需要进入你的项目目录中
例如:你的项目名为test,那么你就进入test文件夹。
**.git文件是隐藏文件你需要显示隐藏文件才能看见**
进入
.git
文件编辑.git
文件中的config文件修改config文件中的url路径为你的新远程仓库地址路径。
更多请参考git当远程仓库地址有变动,如域名调整,需要加上
git remote set-url origin https://gitee.com/jionyon/XXX
XXX为项目目录