一、https://github.com/ 首先注册一个账号先,注意username 和 e-mail
二、下载安装git到本地
1、https://git-scm.com/download/win,确定自己要下载的版本,点击下载即可。下载完之后,双击应用程序,一路next即可完成安装
2、复制git的安装路径,追加到高级环境变量的PATH之后。确定保存退出。
3、打开cmd命令窗口(可用win+r,输入cmd确定即可),输入git –vision命令(version前是两杠),
显示版本信息,即说明安装成功。
三、配置git
1、安装成功后在桌面的开始菜单会多了3个git XXX(分别是:git bash、git gui、git cmd),点击git bash,即可启动git终端,或者鼠标右键会多出git bash、git gui
2、新建立一个文件夹,在里面右键打开Git Bash 或者直接打开Git Basha通过cd /e..进入到目录
3、配置用户名和密码
git config --global user.name 你的用户名 #用户名
git config --global user.email 你的邮箱 #邮箱
配置后可以输入
git config --global -l查看用户名和邮箱
4、配置公钥SSH
$ ssh-keygen -t rsa -C "your@email.com"(填写你设置的邮箱地址)
接着出现:
按回车然后输入y,将在c/Users/Administrator/.ssh文件夹下生成id_rsa和id_rsa.pub,用记事本打开id_rsa.pub
复制里面的内容
打开https://github.com/,登陆你的账户,进入设置
把刚才复制得内容粘贴进key中,title随便,然后Add。
接着在git中输入
ssh -T git@github.com
中间可能会跳出来一堆话,输入命令:yes,显示上图内容就配置好了。
四、git的使用
1、clone远程仓库中的项目到本地。
输入git clone git@github.com:abc/reponame.git 等待他下载完就好了
2、尝试修改并上传到git
可以修改README.md中的文件,修改好后输入git add README.md(或者git add .)
然后输入git commit -m "first_test(提交的描述,可以任意起名)"
接着输入 git pull origin master 拉取整合远程仓库代码
最后git push origin master 推送到远程仓库上
注意:一般在pull之后,需要解决代码冲突问题,确认自己的代码是最新的,不改动别人的代码,如果有多人改动到同个地方就需要商量知道最终是什么样的代码。最低限度是确认跑得起来才可以push。
操作上:需要现将本地的修改暂存并提交,即add commit之后才能拉取到最新的代码。拉取之后可以使用git status来查看有冲突的文件,输入git diff来查看具体冲突的代码。
3、提交成功后可以上github上查看提交的结果
然后每次更改之后提交的操作基本就这几步,最重要的是要经常pull解决冲突,本地没跑起来就不要push上去!!!才能保证仓库不被污染。
到这里就基本可以使用了。
五、接下来是可能遇到的问题及其他技巧
1、切换用户直接输入 git config --global user.name “yourusername” 来替换,邮箱也是这样
2、fatal: The remote end hung up unexpectedly 有关的remote的问题 可以先检查一下.git/config文件中的url是否是ssh格式的地址或者是否地址正确
3、可能会踩到的坑,就是太久没拉取,拉取下来有很多冲突没有解决,又提交不了的情况只能好好的解决冲突,按着提示解决,虽然有强行push的方法,但最好不要~
4、在每次add 之后,可以使用git status查看改动了那些文件,使用git diff可以查看具体改动了什么部分
5、使用git log/git show可以查看已经提交的记录和最新的提交记录。
6、撤销提交和修改
找到上次git commit的 id
git log
找到你想撤回到commit_id(假如你现在所在的最新commit是A,之前是B,你想退回到B,那么id就是B的id)
git reset --hard commit_id (会将commit中包含的修改一起撤销)
git reset commit_id (仅是撤销提交而已,add还保留,可重新提交)
7、回退版本
其实就是本地撤销到之前的提交,然后强退一波git push -f git强推
8、新增ignore文件内容后push上去没有生效。
要先本地清理一下缓存
git rm -r --cached .