windows的github教程

未曾提交的本地仓库,push到远程仓库报错:

本地仓库push到远程仓库报错:

error: src refspec master does not match any
error: failed to push some refs to 'https://gitee.com/lorryZhang/my-android-face-detection.git'

只要把本地的git仓库至少commit一次;然后再push即可

 

git密码用户名验证失败

remote: username: Incorrect username or password (access token)

控制面板→用户账户→凭据管理器,修改git账号的密码即可。

 

git的push卡主

git提交到gitee上面,卡住

安静的停在了那里,修复:

git config --local sendpack.sideband

 

git的local和global属性配置

如果是配置只是针对当前项目的,git config --local user.name XXX

如果配置是对系统级别(全局)生效,git config --config user.name XXX

 

git删除untrack file

 1 #删除当前目录下untrack文件,不包括文件夹和.gitignore中指定的文件和文件夹
 2 git clean -f
 3 
 4 #删除当前目录下untrack文件和文件夹, 不包括.gitignore中指定的文件和文件夹
 5 git clean -df
 6 
 7 #删除当期目录下的所有untrack的文件和文件夹
 8 git clean -xdf
 9 
10 #显示会被删除的文件,添加-n参数
11 git clean -nxfd
12 git clean -nf
13 git clean -nfd

git创建分支

1 git branch # 查看当前已有分支
2 git branch new_branch_name # 创建新分支
3 git branch -D branch_name # 删除指定分支
4 git checkout new_branch_name # 切换到新分支,如果是第一次切换则是拷贝当前分支的代码到新分支

 

指定管理文件后缀

在管理gcc-arm编译器源码,只想要跟踪修改.c以及.h文件,可以在.gitignore中做如下配置即可:

# 忽略所有文件(要首先屏蔽全部,然后再指定例外,这种模式适合于例外是少数的场景)
*
# 不忽略目录(必须要不忽略目录,否则目录下即使有符合要求的文件也不会被管理)
!*/
# 不忽略文件.gitignore
!.gitignore
# 指定需要跟踪版本的文件后缀(例外文件)
!*.c
!*.h

 

快速下载github

git clone url:address -depth=1
指定了depth=1,将会只下载最近的提交日志,历史履历将不会下载。这个方法主要用于下载学习使用,如果想要基于工程操作,比如想要拉去最新,比较麻烦,需要执行如下一系列指令,因为本地只有最新的master的分支代码:

1 $ git clone --depth 1 https://github.com/dogescript/xxxxxxx.git
2 $ git remote set-branches origin 'remote_branch_name'
3 $ git fetch --depth 1 origin remote_branch_name
4 $ git checkout remote_branch_name

另外一个方式就是将传输协议有https改为git,https是默认的协议,在github上面clone提供的路径就是https,但是其实如果换成了git下载将会更加顺畅。

git clone https://github.com/apache/iotdb.git
等价于
git clone git://github.com/apache/iotdb.git

 

如何向github提交变更
1. 在github上面创建project,获得git地址;
2. 来到windows,首先安装git(可以到淘宝的npm网站下载,官网速度着实让人着急:http://npm.taobao.org/mirrors/git-for-windows/v2.21.0.windows.1/);
3. 在目标目录下:git clone https://github.com/sujiujiu/mybbs.git
4. 进入到下载的目录里面(通过git地址下载的一定是一个文件夹),执行:git push origin master
5. 然后:git init
到此仓库搞掂

如何将本地文件工程上传到远程github地址

  1. git init //把这个目录变成Git可以管理的仓库
  2. git remote add origin https://github.com/xiashiwendao/XX.git //关联远程仓库
  3. git add README.md //文件添加到仓库
  4. git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了 
  5. git commit -m "first commit" //把文件提交到仓库
  6. git push -u origin master //把本地库的所有内容推送到远程库上


如果有文件变更,提交流程
1. git add .
2. git commit -m "message"(-m后面的是注释内容)
3. git push -u origin master(提交到远程服务器)

取消变更

从index(staged)状态切换为unstaged状态,即将通过add命令添加的文件从working tree中删掉

git reset HEAD chapter2/B.jpg

最简单的方法:

git checkou -- *

远程模式提交和拉取

上面的描述是直接提交到远程github上面,如果你是远程模式,即仓库是本地git,然后再提交到远程github,这个需要下面的流程
1. git remote add origin https://github.com/sujiujiu/mybbs.git(告诉本地git要提交的目的地)

然后就是“git push origin master",上面已经提到过了。这个过程适用于github工程和本地git是分开建立(比如先建立了本地的git仓库,做了一些开发;后建立的github仓库,想要把本地的git的commit内容推送到github上的方式)。
2. git remote rm origin
3. git pull origin master

关于.gitignore
想要忽略文件夹,使用“/foldname"模式,例如:
/.ipynb_checkpoints
/dataset
如果“/"放在前面代表只是屏蔽一级目录名称为指定名称;如果是放在后面则代表任何一级目录中包含了该名称都会被忽略。例如/dataset,当前目录将会被忽略;如果是dataset/,那么当前目录aa下面创建一个dataset文件夹,然后里面放入文件,仍然不会被git发现。
如果是文件直接写文件名称即可;

windows不允许直接创建.gitignore文件,可以通过下面两种方式创建:

1. 添加.gitignore.文件(前后都有一个点);

2. 创建一个gitignore.txt文件,通过在命令行执行mv gitignore.txt .gitignore来进行改名

注意,ignore的文件/文件夹一定是untrack的,即未提交过(未提交,但是通过add放到staged的数据也是track的,需要通过reset HEAD来将其从staged中移走),只有提交过的文件/文件夹就会被记录跟踪,也就无法做到ignore;如果已经提交的文件要ignore,只能是删掉并提交,然后再ignore。

关于文件管理的生命周期

如果文件夹为空并不会做提交,只有文件夹里面有文件才会被发现并提交。

git add filename
是指将git中没有版本管理的新文件放入到stage区域;如果是git add .,就会将所有的untrack的文件一并放入到stage区域;
git status
现实git中待提交文件的状态,红色,代表untrack,即未被git管理文件,绿色的文件代表已经放入到了stage区域,等待被提交的。
git reset filename
放弃stage中的指定文件;如果是git reset .,则代表把stage中所有的文件都放弃;

git restore filename
放弃stage/ unstage中的指定文件,建议使用此指令,也是git推荐的,reset则是还有回退分支的功能;所以如果仅是放弃修改,使用store。

 

 

git checkout <commit id>/master
放弃本地未提交的修改,获取指定历史提交版本(commit id)或者某个分值最近一次提交内容来覆盖本地文件;

git客户端的配置

git config --list
查看当前所有的git配置项
git config --global user.email XXX@YYY.com
配置当前用户的邮箱
git config --global credential.helper store
配置“记住密码”,这样只要输入一次用户名密码即可以后直接远程提交

git pull发生unmerge异常

如果不想merge而是简单处理,可以首先通过hard回撤来恢复到最近一次pull成功的点:
git reset --hard FETCH_HEAD
git pull origin master

如果不可以,仍然报merge异常,那就checkout master分支:
git checkout -b temp
git checkout master
git pull origin master

gitee(码云)提交,anthentication fail

打开“控制面板” -> 用户账户 -> 凭据管理:管理windows凭据;删掉gitee的账号;这样提交代码的时候又会弹出框,记得这里输入的的用户名是邮箱地址

 

参考内容:
https://blog.csdn.net/qq_28304687/article/details/69959238 详细的罗列了git常用的指令,并有简单的说明
https://quizlet.com/135156569/git-commands-flash-cards/
https://git-scm.com/docs
http://www.chengxusheji.com/archives/121.html git ignore文件的介绍
https://blog.csdn.net/yuzeiger/article/details/82781664 git记住密码
https://blog.csdn.net/stupid56862/article/details/80659076 windows下面建立.gitignore文件
https://www.cnblogs.com/bubble1223/p/8075820.html merge异常处理
https://blog.csdn.net/qq_39077696/article/details/102860919  gitee提交认证失败处理
https://www.jianshu.com/p/1031dd2a6c3a git clone --depth=1时的一些问题
https://blog.csdn.net/furzoom/article/details/50357378 git设置只允许特定类型的文件(git只管理指定后缀的文件)

 

remote: xiashiwendao: Incorrect username or password (access token)

posted on 2019-04-05 14:51  下士闻道  阅读(477)  评论(0编辑  收藏  举报

导航