以下内容是从本地仓库从无到有,再到与远程仓库建立联系的过程;
一、本地管理常用命令
1、创建本地版本仓库
git init
2、添加到本地索引(也就是暂存区stage)
git add .
:查看暂存区里有没有修改
git status
3、提交到本地仓库
git commit -m "v1.0"
:git add 和git commit 一起
git commit -a -m "v1.0.1"
上面过程如下图:
说明:1、本地工作区里的文件修改(注:git 之所以比其它版本控制器牛,就是因为git管理的是修改,而不是文件。)添加到暂存区;
2、将暂存区里的修改提交到本地仓库;
二、与远程仓库联系
0、生成本机密钥(ssh方式与github连接用)
ssh-keygen -t rsa -C "[email protected]"
1、设置全局
git config --global user.name"your name" git config --global user.email"your email"
2、让本地仓库与远程仓库建立联系(如果已经建立,就可以提交了)
git remote add origin [email protected]:xxx/xx.git//origin 代表远程仓库 [email protected]:xxx/xx.git git push -u origin master //第一次推送本地内容到远程仓库
注:如果ssh 与远程搞不定。还有可以https 方式。(好像这个方法,还比较方便。)
首先:将刚才建立的origin (远程仓库的别名)删除。
git remote rm origin //删除远程仓库的连接。
其次:重建与远程仓库连接。
git remote add origin https://github.com/xxx/xx.git
https 方式保存用户名密码的方法
3、将本地仓库中的代码提交 到远程仓库origin 的 master 分支
git push origin master //平时这句就可将本地仓库推送到远程仓库
如果:远程仓库小伙伴已经建好了,我需要和我的小伙伴一起开发,那么只需要如下操作
1、在本机合适的地方clone 下远程仓库;
git clone [email protected]:xxx/xx.git
git clone https://code.csdn.net/xxx/xx.git
2、本机的id_rsa.pub 内容告诉小伙伴;
3、正常的push操作;
引用
三:过程中遇到的问题
1、初次将远程仓库建好后,把本地代码push 到远程仓库时,出现reject 错误。
大概意思是:远程仓库不为空。。。
解决办法:①、在初次建远程仓库时,不要用readme.md 文件进行仓库的初始化。这样建立的远程仓库就是个空仓库。空仓库就可以用本地的仓库进行初始化了。
②、也可以将远程仓库与本地仓库 合并一下:git pull origin master ;然后再git push origin master;
2、在开发的过程中,代码需要更新和提交。
2.1:需要将远程库中的代码和本地仓库的代码进行merge时,要保证本地仓库的代码进行了本地commit 操作。git status时:
E:\gassoft>git status # On branch master # Your branch is ahead of 'origin/master' by 4 commits. # (use "git push" to publish your local commits) # nothing to commit, working directory clean
然后执行:
git merge origin/master
3、pull 代码时,遇到了这个问题:The current branch is not configured for pull No value for key branch.master.merge found in config
网上找到了个解决办法: 办法
4、觉得每次操作都需要输入密码,很烦。那么就把密码存储在本地吧。
长期存储密码:
git config --global credential.helper store
增加远程地址的时候带上密码也是可以的。(推荐)
http://yourname:[email protected]/name/project.git //这个我没试成功。
配置好后不会立刻生效,重启下git bash 就可以了。