过程写写吧,总是忘记。
1,在一个文件夹下 键入 git init ,使之成为Git可以管理的仓库。
2,编写一个文件readme.txt。
3,把文件添加到仓库 git add readme.txt
4,把文件提交到仓库 git commit -m "upload files at first time"(这里是备注信息)
5,github上添加本机秘钥(本机已经关联了所以不写,具体在这里:https://0x9.me/ofiuX)
6,github上创建一个新 Repositories 。
7,本地仓库与远程仓库github关联 git remote add origin git@github.com:Macaulish/simple_shopping_cart.git(后面就是新创建的github仓库地址)
8,先把远程的东西down到本地:git pull --rebase origin master
9,把本地库的内容推送到远程 git push -u origin master。首次提交需要 -u,以后提交直接 git push origin master。
10,完毕。
推送到远程方式:
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
如果遇到报错情况“remote origin already exists ” 则:
1,先删除远程git仓库
2,再添加远程 Git 仓库
$ git remote add origin git@github.com:FBing/java-code-generator
应该就可以了。
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
现在,我们把dev分支的工作成果合并到master分支上:
$ git merge dev
Updating d46f35e..b17d20e
Fast-forward
readme.txt | 1 +
1 file changed, 1 insertion(+)
git merge命令用于合并指定分支到当前分支
git clone与git pull区别
从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉。
但是,也有区别:
从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是将一个库复制到你的本地,是一个本地从无到有的过程)
从远程服务器获取到一个branch分支的更新到本地,并更新本地库,叫做pull.(pull是指同步一个在你本地有版本的库内容更新的部分到你的本地库)
git clone 是从无到有的(个人理解)
git pull 是更新代码的(个人理解)(git pull origin master从github更新到本机)
git 在家里修改后配置了ssh,然后回到公司再使用git就使用不了了
解决: 把本机现在ssh公钥添加到github上。
git比较远程和本地
git fetch origin
git diff master origin/master
如何去掉git diff 时的 no newline at end of file
加上-w就可以了
Git Your branch is ahead of 'origin/master' by X commits解决方法
场景:本地mater比远程origin/master超前X次commit.然而我想把远程origin的原封不动的(含overwrite)down到本地。
用 git reset --hard origin/master
原来以为用git checkout
今天想版本回退到上一版本
使用命令:git reset --hard HEAD^
结果出来:More?
回车几下:fatal: ambiguous argument 'HEAD
肯定是出问题了,
于是先 git log 找到commitID(版本号)
然后git reset --hard 663f463 (该版本号)