git命令提交代码步骤
每天开始开发前先pull仓库最新代码
- git pull origin dev (拉取dev分支最新代码)
- git add . (将本地代码全部提交到缓存区)
- git commit -m'提交描述' (提交代码到本地仓库)
- git pull origin dev (多人开发此时最好再拉取一次代码)
接下来无冲突,直接执行下一个步骤(push);有冲突,先解决冲突,然后继续执行add、commit、pull命令,最后再执行push命令
- git push origin dev (将代码推送到远程仓库)
创建、查看、删除、合并分支等命令
git clone [仓库地址] (克隆项目到本地)
git branch dev(创建dev分支)
git checkout dev(切换到dev分支)
git checkout -b dev(创建dev分支并切换到dev分支)
git pull origin dev(切换到dev分支后拉取代码下来)
git branch(查看本地分支)
git branch -a(查看本地和远程分支)
git branch -r(查看远程所有分支)
git fetch origin (刷新分支,如git branch -a无法查看最新的分支情况时,可以先刷新一下)
git branch -d dev(删除dev分支)
git branch -D dev(强行删除)
git push origin --delete dev(删除远程dev分支)
git status (查看当前工作区状态)
git diff(如果文件已被修改且已保存了,该命令可以查看修改的内容)
git merge dev (合并dev分支到当前分支)
git merge --quit 退出当前分支合并,当合并后冲突很多,要撤回合并分支就用这个命令
git diff 分支1..分支2 (查看两个分支差异)
git diff 分支1..分支2 -- 完整文件路径 (查看指定分支指定文件差异)
查看/修改git配置信息
- git config --list (查看用户名和邮箱名)
- git config --global user.name "xxxx(新的用户名)" (修改用户名)
- git config --global user.password "xxxx(新的密码)" (修改密码)
- git config --global user.email "xxxx@xxx.com(新的邮箱)" (修改邮箱)
4、查看历史提交记录
- git log (当前分支的历史版本,当一页内无法显示所有历史版本,回车:显示下一行;空格:显示下一页,输入q可退出)
- git log --pretty=oneline (以简单行形式显示历史记录信息)
- git log -2 (查看最近2次的提交内容)
- git log --all (查看所有分支历史版本
- git log master(查看master分支的历史版本)
- git reflog (查看所有历史版本(所有引起HEAD指针变动的操作,例如切换分支等操作),比git log更全面)
- git blame file_name (查看指定文件的修改记录)
代码回退
git add之前工作区代码改动想回退
- git checkout -- [file-name]
git add 之后回退
- git reset HEAD
git commit 之后回退
- git reset --soft commit_id(回退到某个版本,commit_id是版本id,
soft模式会保留本地代码修改,hard则不会
)
git reset --soft(撤销commit)
git reset --mixed(撤销 commit 和 add 两个动作)
git push 之后回退
- git reset --hard commit_id(回退到某个版本,commit_id是版本id,
soft模式会保留本地代码修改,hard则不会
) - git push -f origin [branch-name] (强制推送到远程,之前提交都会被覆盖,慎用。
如果push失败,应该是远程仓库配置了拒绝任何非快进的推送,需要管理员权限修改
)
git merge 之后回退
- git revert commit_id -m 1 (1 最近的merge操作。
会保留当前分支的代码,只回滚掉来源分支的代码
。commit_id是合并操作的那个id,推荐使用) - git reset --hard commit_id (回滚后完全回到最初状态,需要强制push。不推荐使用)
删除文件
git rm test.txt(删除test.txt文件)
git commit -m “删除test.txt文件”(提交修改)
git checkout - test.txt (若删除错后还原test.txt文件)
切换分支不想提交本地修改
假设在A分支修改后需要切换到B分支修改bug,但是还不想提交A分支的代码
git stash (将当前A分支存储,就可以切换到B分支了)
git stash apply (切换回A分支后,恢复之前的修改)
git stash pop(恢复且删除存储列表)
git stash drop (删除存储列表)
git stash list (查看缓存列表)
git stash drop stash@{id} (删除指定id的存储列表)
关于.gitignore
创建.gitignore
- 在项目所在目录右键选择
Git Bash
进入命令行; - 输入
touch .gitignore
就生成了一个“.gitignore”文件,然后在”.gitignore” 文件里输入你要忽略的文件就可以了。
清除.gitignore缓存
- git rm -r --cached
- git add .
- git commit -m'.gitignore重写缓存'
- git push
git commit忽略代码校验
在git commit 后面加上 --no-verify
- git commit -m'提交描述' --no-verify
为指定项目单独设置用户名和密码
- cd .git (进入项目.git文件)
- git config user.name '你的账号名' (设置用户名)
- cat config (查看现在的git配置文件,会看到配置最后一行多了用户名,这就是单独为该项目设置的用户账号)
- git config credential.helper 'store --file .git/.my-credentials' (指定存取位置,再次查看配置,看到最后一行新增了helper及设置成功)
文章来自(https://lifangdan.github.io/blog/views/frontEnd/git.html)