开发工具:GitHub+Git

简介

安装Git后需要配置环境变量

Path:E:\Develop\Git\cmd
一路next安装即可,会发现Path已经配置完成了。

检验git客户端是否安装成功:在cmd输入 git,出现下图即安装成功:
这里写图片描述

目前 Coding 支持以下三种协议对 git 仓库进行访问

HTTPS:读写仓库加密通道,有单次上传限制。
SSH:读写仓库加密通道,无单次上传限制,需先在个人设置页面上传 SSH-RSA 公钥,完成配对验证。
Git:只读,并且只对公开项目有效。

origin: 仓库的名称
master:主分支的名称

一般有2个分支:

dev是开发分支
master是主分支

feature是功能分支。

刚创建完项目是没有New Branch,因为你没有添加vcs控制,

  • 添加VCS控制
  • git add .
  • git commit -m “init”(本地commit即可,不需要提交到远成仓库)

操作完这3步才会出现New Branch

Git命令

git status:

查看代码仓库当前状态

git init:

初始化仓库,并创建主分支master

git add a.md:

添加文件a.md到缓存

**git remote -v **

查看远程仓库地址

git rm --cached :

从缓存中删除

git commit -m “first commit”:

当前到本地,“”内是提交的相关信息

git branch:

查看分支状态

git branch a:

创建分支a

git checkout a:

切换到分支a

git checkout -b a:

创建分支a并切换到分支a

git merge a:

合并分支a到master:先要切换到master,再执行git merge a,前两部都是本地操作,不影响远程仓库,所以再push 提交到远程仓库。

git checkout master
git merge dev
git push origin master

git branch -d a:

删除分支a

git branch - D a:

强制删除分支a

git log :

查看log 这里写图片描述

git reflog

查看log
这里写图片描述

git clone -b branch_name url
只clone某个分支。
以google sample 的MVP的分支todo-MVP为例:

git clone -b dev https://github.com/googlesamples/android-architecture.git

这里写图片描述

url:
这里写图片描述
branch-name:
这里写图片描述
把本地代码推到远程 master 分支:

git push origin master

把远程最新的代码更新到本地:

git pull origin master

git reset --hard 提交的ID号

本地回滚,不影响远程仓库。恢复代码,ID号从git reflog命令中找到,就是git relog最左面的黄色编号。这里写图片描述

git reset --hard HEAD~3:将最近3次的提交回滚

查看当前git账户名和密码

$ git config user.name
$ git config user.email

这里写图片描述

向GitHub 提交代码

1 判断SSH是否安装成功并生成:ssh key

ssh: 判断SSH是否安装成功
ssh-keygen -t rsa: 生成:ssh  key

2 GitHub 上添加 SSH key 并测试

SSH key 添加成功之后,输入 ssh -T git@github.com 进行测试

3 提交代码

  1. clone自己的项目

    ```
    1 复制github的项目test1到本地:
    				  git clone git@github.com:s1168805219/test1.git
    2 本地修改代码后提交:
    				  git add d.txt :提交d.txt文件
    				  git add . :提交所有修改的代码
    				  git commit -m "提交的信息"
    3 推送到github:
    				  git push origin master 
    ```
    
  2. 关联本地已有项目

	本地仓库关联远程仓库:
	git remote add origin git@github.com:s1168805219/test1.git
	查看本地仓库可以关联哪些:
		git remote -v
	推送到github
		git push origin master

提交代码:我自己的做法

1 本地项目名称a(非仓库即没有.git),github创建库名称b,将a的代码提交到b.

		把.gitignore放在根目录
		1. 在本地库文件中右键打开 git bash 
		2. 初始化本地库:git init
		3. 将代码添加到缓存:git add . (添加所有文件)
		4. 将代码提交到本地: git commit -m "第一次提交"
		5. 将本地库与github库关联:git remote add origin git@github.com:   
							    s1168805219/b.git   
		6. 推送代码到github库:git push origin masster

2 本地的仓库中代码发生了修改在提交到github

		1. 在本地库文件中右键打开 git bash 
		2. 将代码添加到缓存:git add .
		3. 将代码提交到本地: git commit -m "第二次提交"
		4.  推送代码到github库:git push origin masster

向oschina码云 提交代码

简易的命令行入门教程:

Git 全局设置:

git config --global user.name "北方的天空2008"
git config --global user.email "cui1168805219@163.com"

这里写图片描述

创建 git 仓库:

mkdir SpinnerDemo
cd SpinnerDemo

可以直接在SpinnerDemo目录下右键选择:Git Base Here
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://git.oschina.net/beifang2008/SpinnerDemo.git
git push -u origin master

已有项目:

cd existing_git_repo  进入目录

git remote add origin https://git.oschina.net/beifang2008/SpinnerDemo.git
git push -u origin master

删除远程仓库的bin+gen

git rm --cached bin
git rm --cached gen
git add .
git commit -m "提交信息"
git push origin master

gitHub提示:

这里写图片描述
git全局设置:

git config --global user.name "北方的天空2008"
git config --global user.email "cui1168805219@163.com"

这里写图片描述

git执行命令后的消息提示–英文翻译:

1 Branch master set up to track remote branch master from origin,Everything up-to-data.###

这里写图片描述

执行"git push -u origin master"后提示,意思是:本地主分支已跟踪远程主分支。所有的都是最新的。实际是没有添加任何数据,因为远程仓库的数据是最新的。
##2 执行git clone …后的消息提示###
这里写图片描述
正在从“https://github.com/Chanven/CommonPullToRefresh”复制代码
远程:对象数量: 740个
远程:压缩对象已完成100%(16/16)
接受到的对象:48%,(365/740),大小:3.36MB,速度:65kb/s.
resolving deltas :解决增量
checking connectivity done:检查连接完成。

问题

1 如下图:

这里写图片描述

原因:远程仓库比本地仓库没有的文件
解决方法:需要更新本地仓库。
1 先 git pull origin master
2 然后:git add . + git commit -m “提交信息” + git push origin master

2 fatal: remote origin already exists. (见下图)

这里写图片描述
解决方法:

1 先输入$ git remote rm origin

2 再输入$ git remote add origin git@git.coding.net:cuiquancheng1989/mobile.git
3 这样皆可以提交代码了:git push origin master

3 git pull时:error: Your local changes to the following files would be overwritten by merge

参考:Git:代码冲突常见解决方法

如图:
这里写图片描述

这是因为默写配置文件发生了修改

如果你想保存本地的代码

git stash
git pull origin master
git stash pop

然后可以使用git diff -w +文件名 来确认代码自动合并的情况.

反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

git reset --hard
git pull

其中git reset是针对版本,如果想针对文件回退本地修改,使用

git checkout HEAD file/to/restore  

4 Authentication failed for “…git”

这里写图片描述

原因一:仓库是私有的(git clone的时候是这样的)
开源中国为码云为例:
这里写图片描述

这里写图片描述
解决方法:把仓库改成公共的。

原因二:未设置用户名和密码
解决方法:初始化 邮箱和用户名

git config --global user.name "北方的天空2008"
git config --global user.email "cui1168805219@163.com"

如果上述上述方法,那么在提示输入用户名和密码的弹出框中输入的用户名是邮箱,而不是昵称。

原因三:如果原来push到码云,现在push到code china,在同一台机器上
https://blog.csdn.net/s735819795/article/details/90376586
清空本地密码:

git credential-manager uninstall

记住密码:

git config --global credential.helper wincred

单词拼错##

这里写图片描述

但我的远程仓库区却是:
这里写图片描述

6 Everything up-to-date

提示如下图:
这里写图片描述
出现这个提示是因为你没有做以下两步:

  1. git add .
  2. git commit -m "first commit"

git clone 和 git pull 的区别?

git clone:本地没有代码仓库,把远程的仓库(有.git)复制到本地。
git pull :本地有代码仓库,只是把远程仓库的代码复制过来。

其他:

微信公众号:AndroidDeveloper
GitHub @stormzhang

从0开始学习 GitHub 系列之「初识 GitHub」
从0开始学习 GitHub 系列之「加入 GitHub」
从0开始学习 GitHub 系列之「Git速成」
从0开始学习 GitHub 系列之「向GitHub 提交代码」

Github如何提交代码
介绍Android Studio使用Git最详细的文章

git代码库回滚 --本地代码库回滚 和 远程代码库回滚

这个比较全面:或许是介绍Android Studio使用Git最详细的文章

SourceTree

sourceTree是可视化git管理工具
官网下载地址:https://www.sourcetreeapp.com/

这里写图片描述

界面设置成中文

Tools–>Options–>General–>Misc Language–>汉语,需重启sourceTree
这里写图片描述 这里写图片描述

已有git仓库关联远程仓库

File–>open–>选择已有的文件夹即可
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值