文章目录
简介
安装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 提交代码
-
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 ```
-
关联本地已有项目
本地仓库关联远程仓库:
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 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
提示如下图:
出现这个提示是因为你没有做以下两步:
git add .
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最详细的文章
这个比较全面:或许是介绍Android Studio使用Git最详细的文章
SourceTree
sourceTree是可视化git管理工具
官网下载地址:https://www.sourcetreeapp.com/
界面设置成中文
Tools–>Options–>General–>Misc Language–>汉语,需重启sourceTree
已有git仓库关联远程仓库
File–>open–>选择已有的文件夹即可