git获取仓库项目
git clone url
设置用户名和邮箱
$ git config --global user.name "xinghua"
$ git config --global user.email "xinghua@xxx.com"
查看
git status -s——状态
git log ——提交历史:http://blog.csdn.net/hxh5801050/article/details/79558351
发布
git push --set-upstream url master |为master——设置上游分支
git push 短名 分支名 ——推动到服务器
提交:
git commit -m 1 ——提交并注释信息为1
git commit -a ——直接提交
删除系列:
1、rm -rf .git删除本地仓库
强制删除选项: -f
git rm --cached 文件 删除跟踪,不删除文件
$ git rm \*.txt 递归删除当前目录下所有.txt结尾的文件
git init 重新初始化本地仓库,然后使用rm -rf .git 删除。——删除本地仓库
git reset HEAD 文件名 ——撤销add或者删除等操作的文件
git rm -r 文件夹 ——删除文件夹
2、git rm -r --cached 文件 、提交、push 删除远程已经推动过去的文件
git reset --hard HEAD~1 删除本地最后一条记录,如果需要删除最后提交的N条记录,将“1”替换为一个具体的数字“N”即可。
执行git log ,本次提交错误。但我不想要本次提交,并让git log不显示我本次提交的记录:复制上一次的commitId ,执行下面命令
git reset --hard 7a0d9768af38313d58f198be5c8d37ea2357168e
git push origin HEAD -f
取消对文件的跟踪还有一个命令:git update-index --assume-unchanged <取消跟踪的文件>
注:该命令只能取消提交到暂存区之前的文件,可以先用git reset <文件名>将暂存区的文件回退到暂存区之前,然后再取消跟踪。
git reset <文件名>将暂存区的文件回退到暂存区之前,也可以reset <提交的id>
远程仓库的使用:
1、git remote -v 查看本地的远程仓库
2、git remote add 短名 url添加远程仓库
3、git fetch 短名 抓取所有远程有的,但是本地没有的信息
fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
所以一般我们运行 git pull
,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。
4、git pull <远程主机名> <远程分支名>:<本地分支名>
5、git remote show 短名查看远程服务器的详细信息
6、git remote rename 短名 新短名 重命名
7、git remote rm 短名 移除远程仓库
8、git reset --hard 清空当前的git库
分支管理:
1、git branch ——查看分支
2、git checkout -b 分支名 ——新建分支并切换,是下面两条命令的集合
git branch 分支名 ——新建分支
git checkout 分支名——切换分支
3、git merge origin/next 合并分支
4、
撤销操作:
1、推送到服务器后,发现多上传了一个文件,删除它
办法:
git rm -r --cached 文件名——删除提交到远程仓库的文件
git commit -m '删除文件' ——提交
git push 短名 分支名——推送
2、如果想把这个文件以后都不用提交:
办法:
vi .gitignore——打开文件
文件名/——写入不提交的文件名
git add .gitignore
git commit -m '1'——提交
git push 短名 分支名——推送
3、如果保存到暂存区(add了),撤销
办法:git reset 文件名 ——撤销暂存区文件
本地凭证管理:
1、git credential fill ——————查看本地的凭证信息
git config --list | grep credential -- 一样查看本地的凭证信息
2、git config --global credential.helper cache ——设置凭证在本地保存的选项
cache是每次都需要输入,并且15分钟过期,--timeout <seconds>
参数,可以设置后台进程的存活时间(默认是 “900”,也就是 15 分钟)
store 模式会将凭证用明文的形式存放在磁盘中,并且永不过期,“store” 模式可以接受一个 --file <path>
参数,可以自定义存放密码的文件路径(默认是 ~/.git-credentials
)
如果你使用的是 Mac,Git 还有一种 “osxkeychain” 模式,它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,但是是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。
3、好吧,最后我还是删掉了钥匙串里的,然后换的账号。