win系统中git配置
安装好Git以及tortoise后
1.进入git bash中配置用户名 git config --global user.name "xxxxx"
2.配置邮箱 git config --global user.email "xx@qq.com"
查看Git配置 git config --list
git 通过rsa机密算法生成秘钥ssh-keygen -t rsa -C "xxx@qq.com"
一、远程仓库拉取与推送代码
1.查看远程仓库
git remote # 显示远程仓库
git remote -v # 显示远程仓库详情
git remote show origin # 显示origin远程仓库的详情
2.从远程仓库获取、同步
git fetch (some-remote-banch)
3.从远程仓库拉取
git pull origin master
4.推送到远程仓库
git push origin master
如何将其它仓库的提交合并过来?
git remote add <repo-name> <repo-url>
git fetch <repo-name>
git merge <repo-name>/xxxx-branc
5.Git中push推送代码合pull拉取代码细节
本地push代码到远程分支时:
git push -u origin(添加-u参数后可以指定默认远程的分支库地址,即所谓的主机名称,因为本地分支可能会对应对应多台远程主机,也就是对应多个远程分支库地址,添加-u后就指定了推送到哪一个远程分支地址,可以简化推送命令,一般第一次提交时指定,后面推送时默认使用-u指定的远程分支地址)
具体命令如下 git push -u origin(远程主机) matser(本地分支):master(远程分支) 其中-u参数一般是第一次提交时指定远程主机地址,其中意思是讲本地master代码推送到远程master分支上
git pull拉取分成分支代码命令
git pull 拉取代码是命令为 git pull origin master(远程分支):master(本地分支),意思是将远程master分支代码拉取到本地master上,pull时是远程在前本地在后,push则是本地在前远程在后
二、Git推送代码到多台远程主机上
先准备两个空的远程仓库
https://github.com/mao/spider.git
http://192.168.100.54/git/mao/spider.git
如果远程仓库里有readme这样的文件,先pull一下,如果pull的时候失败,提示:fatal: refusing to merge unrelated histories
那么在进行git pull 时,添加一个可选项
git pull origin master --allow-unrelated-histories
有两种方法
方法一: 使用 git remote add 命令
1# 本地仓库与远程仓库关联起来,再查看一下远程仓库情况
git remote add origin https://github.com/mao/spider.git
git remote -v
2# 使用如下命令再添加另一个远程仓库
git remote add sundyn http://192.168.100.54/git/mao/spider.git
3# 再次查看远程仓库的情况,可以看到已经有两个远程仓库了。然后再使用相应的命令 push 到对应的仓库就行了。这种方法的缺点是每次要 push 两次。
git push origin master:master
git push sudnyn master:master
方法二: 使用 git remote set-url 命令
1#删除方法一的 sundyn 远程仓库。
git remote rm sundyn
2#使用如下命令添加远程仓库。
git remote set-url --add oginin http://192.168.100.54/git/mao/spider.git
3#查看远程仓库情况。可以看到 github 远程仓库有两个 push 地址。这种方法的好处是每次只需要 push 一次就行了。
git remote -v
git push origin master:master
分支推送push顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>
原因分析,相同的远程分支名称,但是对应两个远程分支地址
git push origin :master 等同于 git push origin --delete master,直接删除远程分支,如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
三、本地分支与远程同名分支相关联
略
四、git清除工作区中没有add的差异
首先执行
git clean -xfd
然后执行
git add . && git stash && git stash drop
五.git合并本地不同分支代码
例如development分支开发完毕,然后将development分支代码合并到本地的master分支上然后提交到远程分支
首先git checkout master分支
然后git merge development,然后如果提示有修改未提交,直接wq保存,合并成功