git常用命令汇总
工作中代码管理一直用的Git,第一家公司是用的Git小乌龟的界面操作,现在这家公司用的是命令行。工作中用到的Git命令总结如下:
1、同步分支
git checkout dev
git pull origin dev
git checkout 本地分支名
2、查看变更
git diff
或 git status
3、添加需要上传的文件
git add +filename
git add .
4、备注信息
git commit -m ‘modify information’
5、上传
git push origin branch_name
6、暂存与恢复
若stash前已add,先reset再stash
git stash 暂存当前修改内容
git stash pop 恢复暂存内容,只运行一次,否则会将本地所有暂存的都还原,覆盖最近的
git stash list 查看本地所有暂存历史,查看0是否啊需要还原的内容,pop还原的是0
git rebase 同步本地分支之间的代码,先主分支dev与服务器上同步,然后切换到子分支,执行该命令,使子分支代码与dev同步
git stash show stash@{0} 查看缓存0修改状态
git stash show -p stash@{1} 查看缓存1的详细信息
git stash drop stash@{0} 删除缓存的0
7、同步dev代码步骤:
1)本地分支修改提交
2)切换至dev分支,git pull
3)切换回本地分支
4)git rebase dev,出现冲突,保留需要保留的code,git add,git rebase --continue,继续解决冲突,直到冲突全部结束
5)git pull 继续解决冲突,然后提交
git reset HEAD 把当前版本A,回退到上一个版本B,就可以使用git reset 命令
git reset --hard id 回退到某个版本
8、冲突解决
1)git status 查看变更文件
2)若变更文件为无意中修改的,不需要提交,打开文件,左侧阴影块单击,选择第三个撤销修改
3)若变更文件为需要提交的,打开文件,查看是否有冲突,选择需要保留的内容,去除不需要的内容,git add 然后提交
9、输入git add * 出现提示
warning:LF will be replaced by CRLF in …
The file will have its original line endings in your working directory.
解决方法:
git config – global core.autocrlf false
原因:
路径中存在/的符号转义问题,false就是不转换符号,默认为true,相当于把路径中/符号进行转义,这样添加的时候就有问题
10、git push 错误 failed to push some refs to的解决
git pull --rebase origin master (当前分支名)
这条指令的意思是把远程库中的更新合并到本地库中,–rebase的作用是取消本地库中刚刚的commit,并把他们接到更新后的版本库之中。
11、忽略文件
vi .gitignore
12、不小心修改了其他的文件,提交时忽略
git status 查看状态
git diff --cached 查看修改的文件已add文件的具体修改内容
git reset HEAD 取消已在changes to be committed 中但是不需要提交的文件
13、若已commit但未提交
git log 查看提交记录
git reflog 查看上一条的编号8888888
git reset 8888888 --soft 重新指向上一条
14、Git提交密码保存与修改
保存密码:
git config --global credential.helper store
git pull 输入密码后就记住了
修改密码:
如果要清除用户名和密码
运行以下命令缓存输入的用户名和密码
git config --global credential.helper wincred
清除掉缓存在git中的用户名和密码
git credential-manager uninstall