git reset --hard [commit id]
将本地工作区的文件回退版本,注意是回退到本地commit的版本,和远程push的版本没有关系
git add [file]
git commit -m 'comment'
git add 是将工作区文件修改提交到暂存区,commit是将暂存区的内容提交到本地仓库,
如果修改了文件,但是没有add,那么commit的时候不会把修改提交到本地仓库
git checkout -- [file]
丢弃工作区文件修改
让工作区文件回到最近一次 git add或者 git commit的状态
如果修改文件后,一直没有add,则工作区文件回退到和仓库最近一次commit一样的状态;如果add后对文件又做了修改,那么文件回退到上一次add的状态
git reset HEAD [file]
撤销掉暂存区的修改,工作区变成了修改状态,如果要进一步撤销工作区,那么就要git checkout -- [file]
git 删除文件并删除仓库中的文件
第一步删除工作区文件
第二步 git rm [file]
第三步 git commit -m 'comment'
将本地仓库连接到远程仓库并push文件到远程仓库
git remote add origin git@github.com:1032355091/learn.git
git push -u origin master
git branch -a 查看所有分支
git branch [branch name]
创建分支
git checkout [branch name]
切换分支
git checkout -b [branch name]
创建分支并切换
git merge [branch name]
将某个分支的代码合并到当前分支
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin dev:dev
merge 别的分支后代码冲突的解决办法
修改冲突文件再 git add ,再 git commit
push失败(冲突)解决办法
先pull ,再修改本地文件,再 git add,git commit ,git push
git stash。??
git add 后没有commit,
git push origin [branch name]
将本地仓库指定分支推送到远程仓库,如果远程仓库没有这个分支,会新建这个分支,远程分支名和本地仓库分支名一样
将远程dev分支拉取到本地dev分支(第一次git clone 只有master分支拉下来了)
创建本地分支并且链接到远程仓库分支(可以名称不一样)
git checkout -b [local branch name] origin/[remote branch name]
git branch --set-upstream-to=origin/dev dev
将远程dev分支链接到本地仓库dev分支,这样就可以pull了
删除本地的bug_xzx分支
git branch -d bug_xzx
删除远程的bug_xzx分支
git push origin --delete bug_xzx
当我想从远程仓库里拉取一条本地不存在的分支时:
git checkout -b 本地分支名 origin/远程分支名
tag 推送到远程仓库
git push origin [tagname]
保存密码
git config --global credential.helper store
获取远程tag,推送tag到远程仓库
git pull origin --tags
git push origin --tags