git常用命令总结
git配置用户名和密码
git config --global user.name "xxx" git config --global user.email yyy
git初始化
git init 操作完成后会在该项目目录下创建一个隐藏的git目录
git add
git add -A 提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git commit
git commit -m "注释" 将代码提交到版本库(本地)
git branch
git branch 查看本地分支
git branch -a 查看所有分支(包括远程分支、本地分支)
git branch -vv 查看上游分支
git branch -d dev 删除本地分支
git push origin --delete dev 删除远程分支
git branch -m oldBranchName newBranchName 重命名分支
git blame
git blame <file> 定位代码的最后一次修改。
添加远程仓库关联
git remote add origin url git pull origin master --allow-unrelated-histories
删除远程仓库关联
git remote rm origin
git merge
git merge B 将当前分支B合并到A(假定当前分支是A) git merge --no-ff 以不快进的方式提交合并
git merge --squash B 将多个提交记录压缩成一个提交记录
git checkout
放弃工作区修改
$ git checkout -- file.name (绝对路径和相对路径都可以)
$ git checkout -- .
git tag 给代码打标签
$ git tag 0.1.1
$ git push origin --tags 将本地所有标签发布到远程仓库
$ git push origin --delete 标签名 删除远程仓库对应标签
git stash 储藏/缓存区
git stash 将当前分支的代码添加到储藏
git stash list 查看储藏列表
git stash clear 清空储藏
git stash apply 应用最新储藏 不会删除储藏区的记录
git reset
git cherry-pick <commitHash>
cherry-picker 意为挑拣提交,即合并分支的某一次提交。
git push
git push --set-upstream origin xx 设置上游分支
git push -u origin feature/ft 强制推送
git fetch
git fetch origin branch1:branch2
首先执行上面的fetch操作 使用远程branch1分支在本地创建branch2(但不会切换到该分支), 如果本地不存在branch2分支, 则会自动创建一个新的branch2分支, 如果本地存在branch2分支, 并且是`fast forward', 则自动合并两个分支, 否则, 会阻止以上操作.
git列出未追踪的文件
git ls-files --error-unmatch