git remote update origin --prune 更新本地的git分支保持和远程分支一致
git clone -b develop XXX 拉取某个分支的代码
1、创建一个空文件夹,在其中打开Git Bash Here,输入:
git clone + 刚刚复制的粘贴过来,回车
2、打开你拉下来的文件:cd + 文件名。
3、再把你需要上传的文件粘贴到你刚刚新建的文件夹中,然后再输入:
git add .(注意:最后的点"."和前面的字母之间有一个空格)
表示把所有发生变化的文件上传到暂存区,"."表示所有
4、再输入命令:
git commit -m '本次提交的注释'(注:引号内容可不写省略)
Git异常The remote end hung up unexpectedly解决方案
解决方案
公司网络慢因此设置git配置参数,否则因此超时退出
$ git config --global http.lowSpeedLimit 0
$ git config --global http.lowSpeedTime 999999
$ git config --global http.postBuffer 5242880
5、最后把所有的全部push上去,输入命令:
git push 或者 git push -f(强制交)
出现master|rebase是本地代码与仓库代码产生了冲突,解决完冲突后使用
git add .
git rebase --continue
git push
git push不行可以强制git push -f
=======================================================================
git rebase --abort 会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢弃;
git rebase --skip 则会将引起冲突的commits丢弃掉(慎用!!);
git rebase --continue 合并冲突,结合"git add 文件"命令一起用与修复冲突,提示开发者,一步一步地有没有解决冲突。(fix conflicts and then run "git rebase --continue")
这里使用git rebase --skip代码被删可以使用git rebase --abort 可以解决代码回退的问题
===================================================================
首次提交过程(自己先写了一些东西,然后拉项目(之前未拉过项目)进行合并)
git init
git remote add 仓库别名(例如origin) 仓库https链接
git remote
git remote -v
git add .
git commit -m '本次提交的注释'
这里执行git pull (git pull 是git fetch 加 git merge)不行的,要指定与远程仓库的哪个分支拉下来合并:git pull 仓库别名/分支名(例如origin/master)这个,或者设置跟踪本地分支的远程上游分支也就是指定与远程仓库的哪个分支拉下来合并,执行, git branch --set-upstream-to=仓库别名/分支名(例如origin/master)
再执行 git pull 肯定还是不行的话,执行,git pull 仓库别名 分支名 --allow-unrelated-histories ,因为git@2.9之前如果是两个没有相关历史记录的分支进行合并,执行git pull可以也就是git fetch 可以,git merge也可以,但是git@2.9之后修复这个了,git pull 不可以合并也就是git fetch 可以,git merge不可以,只有执行 git pull 仓库别名 分支名 --allow-unrelated-histories 才可以
git push 仓库别名 分支名(例如origin master) 如果设置了跟踪本地分支的远程上游分支只需要git push, 如果有冲突则需手动解决冲突再 git add . git commit -m '本次提交的注释' git push 仓库别名 分支名
======================================================
在项目的基础上更改(入职,然后拉项目后,在项目的基础上写)
git clone 项目链接
git remote
git remote -v
git add .
git commit -m '本次提交的注释'
git pull (相当于git fetch 和 git merge),在项目的基础上更改其实已经设置了跟踪本地分支的远程上游分支
git push,如果有冲突则需手动解决冲突再 git add . git commit -m '本次提交的注释' git push
=====================================================================
以后的提交过程
git remote
git remote -v
git add .
git commit -m '本次提交的注释'
git pull (相当于git fetch 和 git merge),以后的提交过程其实已经设置了跟踪本地分支的远程上游分支, 如果不行,要指定与远程仓库的哪个分支拉下来合并:git pull 仓库别名/分支名(例如origin/master)这个,或者设置跟踪本地分支的远程上游分支也就是指定与远程仓库的哪个分支拉下来合并,执行, git branch --set-upstream-to=仓库别名/分支名(例如origin/master)
如果上一步git pull就行的话,这步就不需要了, 不行的话,解决了上个问题后,再执行 git pull 还是不行的话,执行,git pull 仓库别名 分支名 --allow-unrelated-histories ,因为git@2.9之前如果是两个没有相关历史记录的分支进行合并,执行git pull可以也就是git fetch 可以,git merge也可以,但是git@2.9之后修复这个了,git pull 不可以合并也就是git fetch 可以,git merge不可以,只有执行 git pull 仓库别名 分支名 --allow-unrelated-histories 才可以
git push 仓库别名 分支名(例如origin master) 如果设置了跟踪本地分支的远程上游分支只需要git push, 如果有冲突则需手动解决冲突再 git add . git commit -m '本次提交的注释' git push 仓库别名 分支名
===============================================
历史记录
git log
git log --pretty=oneline
git log --pretty=oneline --graph
git reflog 记录所有的版本,包括回退后之后commit的版本, git log 不记录回退后之后commit的版本
版本回退
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD~100 回退到上100个版本
git reset --hard commitid 根据commitid 回退
git reset --hard head 回退到当前版本
【Git问题Everything up-to-date正确解决方法】
先说说出现这个问题的原因:git提交改动到缓存,要push的时候不会将本地所有的分支都push掉,所以出现这个问题。那么我们就需要新建分支提交改动然后合并分支。
1.先创建一个新的分支提交改动
$ git branch newbranch
2.检查这条命令是否创建成功
$ git branch
这时终端会输出:
newbranch
master
这样就创建成功了,前面的 代表的是当前你所在的工作分支,接下来就要切换工作分支。
3.git checkout newbranch
4.然后将你的改动提交到新的分支上
$ git add 网页换肤
$ git commit -m"skin"
此时可以$ git status 检查下提交情况。如果提交成功,我们接下来就要回主分支了,$ git checkout master
5.我们将新分支提交的改动合并到主分支上
$ git merge newbranch
合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。可以用
$ git diff 来查看产生冲突的文件,然后做对应的修改再提交一次就可以了。
6.我们的问题解决了,接下来就可以push代码了
$ git push -u origin master
7.最后,新建分支的朋友别忘了删除分支
$ git branch -D newbranch
如果想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。