1. clone 项目
git clone https://github.com/apache/***********.git (项目地址)
2.owner在远程库更新了分支,但是在我这里git branch -a查看不到新的分支,
解决办法:git fetch origin --prune 更新一下分支信息,然后再git branch -a就能看到新的分支了~
3.提交代码到远程库:
git status # 查看本地代码状态
git add . # 添加修改代码到缓存
git commit -m "一些信息" # 提交
git push 仓库地址 # push进去了!
4.切换分支:
git checkout -b 分支名 #新建分支
git branch -a
git checkout 分支名
5.多人协作的工作模式通常是这样:
首先,可以试图用git push origin <branch-name>推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
5. 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
5.将本地代码与远程库关联
先要在github上新建一个项目
然后 git push -u 项目地址 分支名称
git branch -a 所有分支
git branch branch_name 创建分支
git branch -d branch_name 删除分支
git checkout branch_name 切换分支
git checkout -b local_branch orgin_branch 创建并切换分支
git checkout filename 放弃单个文件的修改
git checkout . 放弃当前目录下的修改
git log –graph –oneline
git status
git add .
git commit -m “remark”
git remote add origin git_url
git checkout –help
git reset last_commit_id 暂存区重置到工作区(本地HEAD进行重置)
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
git diff 对比
git diff filepath 工作区与暂存区比较
git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
git diff –staged 或 –cached filepath 暂存区与HEAD比较
git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较
git diff commitId filepath 与某一次提交进行比较
git 冲突 二选一(yours | theirs )
git checkout –ours filepath 使用自己的版本
git checkout –theirs filepath 使用仓库的版本
git push origin branch:branch 将本地仓库中branch分支推送到远程仓库branch分支
git reset --hard 将工作空间中改动的内容清除, 恢复到最近提交的版本,
git clean -df 将本地untrack的文件删除,
git gc 工作空间可能不干净, merge代码的时候会出现问题, 此时可以使用git gc 对工作空间进行清理和优化, 需要结合提示
git reset --hard mixed 撤销暂存态的内容;
git logs 查看git提交的日志
git reset HEAD sdhsahd231 恢复到相应的版本, 只要输入一部分即可, git会自动补全相应的;
git pull origin branch:branch 将远端的branch分支上的代码合并到本地branch分支上, 记住pull = fetch + merge
git fetch origin branch 将远端的branch分支内容拉取到本地 内容存放在 origin/branch 中
git merge --no-ff origin/branch 将刚刚从远端拉取的branch的内容合并到当前分支
git branch -a 查看所有分支, 包括本地的分支和远端的分支
git checkout -b newbranch 创建newbranch本地分支并将本地代码合并到新分支上,并切换到newbranch分支
git push origin newbranch:branch 将本地newbranch分支push到远端branch上
git push origin :branch 将远端branch删除
git branch -D newbranch 删除本地newbranch分支
git log master..origin/master 本地与远程的差集 :(显示远程有而本地没有的commit信息)(反过来也可以)