git 常用命令
- 把某个项目的远端仓库复制一份出来到本地
git clone [url]
- 检查文件当前状态
git status
- 暂存某次更新,每次更新后,都要执行git add
git add <file> <file> <file>...
- 查看具体修改了什么,此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached 命令。
git diff
- 提交更新," "中为注释
git commit -m "xxxx"
- 跳过git add,直接提交
git commit -am ""
- Git 中移除某个文件,就必须要从已跟踪文件清单中移除
git rm <file>
- 查看提交历史
git log
- 取消暂存
git reset HEAD <file>...
- 推送数据到远程仓库
git push
- 删除远程分支
git push origin --delete <分支名>
- Git删除本地分支
git branch -d <分支名>
- git 拉取新分支
git checkout -b yourbranchname origin/oldbranchname
git push origin yourbranchname
- git 回退到上个commit节点
git reset --hard commitid
git push -f
-
误操作git add 某个文件后,执行git reset文件名,可以从stage区撤销,但依然保存在work dir中
-
如果通过rm删除了某个文件,想要恢复可以通过git checkout xx.txt
如果通过git rm 删除了某个文件,可以通过git checkout HEAD xx.txt来恢复 -
git commit 后想撤销
git reset --hard HEAD^
- 下载远程仓库的所有变动
git fetch [remote]
- 尚未commit, 想把当前分支改动合入别的分支
git stash 保存 A分支的更改
git checkout 目标分支
git stash pop 将之前A分支的改动应用到新的分支
- git pull冲突后
git stash
git pull
git stash pop
- git submodule相关
git submodule update --init --recursive
- 同步fork的项目
1. 确定下是否建立了住repo的远程源
git remote -v
2. 添加项目A的远程仓库地址到upstream
git remote add upstream <你朋友项目A的仓库地址>
3. 再次确认下
git remote -v
4. 把项目A的更新来到本地的upstream里
git fetch upstream
5. 切换到你自己想要merge的分支,这里我用举例:master
git checkout master
6. merge项目A的更新到你的branch
git merge upstream/master
- 合并多个commit
git reset commitid
git add .
git commit --amend
git push -f